运算符优先级小练习

typeof 3
得到'number'

typeof 3 + 4
这里有两个运算符,需要比较下优先级了,
typeof的大,所有先运行typeof 3,得到'number',
'number'再同4作用,得到'number 4' 。

x = y + c + b
左结合,一般逻辑顺序,从左向右执行。
x = y = c = b
右结合,从右向左执行。

3 + 4 || false
先比较两个运算符优先级,+胜,所以得7,
再进行运算,左边是真,右边是假,得7。

3 + ( 4 || false)
先运行括号里的,前真后假,得4,最后是3与4的和。


3 + ( 4 && false)
同理,括号里的值是false,3 + false会先把false数值化,
类型转变嘛,值是多少?是0。所以,答案是3。

3 + 4 && false 
先加法,得到7,然后运行与运算,
一真一假,所以是false。

a =  3 + 4 || false
等号是最低的当然,除了逗号。就是a等于后面的值。

typeof 2 * 3
先typeof 2 得 'number',然后得到NaN。
NaN是数值类型,但是没有值,所以它自己
不等于它自己。

typeof ( 2 * 3)
先得6,再得到number。

typeof 2 + 3
先typeof 2得'number',然后得'number 3'。

var a =  0 ,b = 0;
a +++ b
先不管结果如何,先看运算符,
三个加号可以看成一个自增和加号,
自增的优先级肯定高,先自增,
关键是自增给哪个?
是递增在变量的前面的
还是在它后面的优先?查MDN得
到后置递增的更优先,所以a++优先于++b。

a = b == c
等同于a = ( b == c)。

!2*0
先!2,得false,再相乘,false数值化为0,最后得0。
逻辑非优先级很高,逻辑与和逻辑或却很低。

短路的练习——
1 && 3
要的是布尔逻辑值对比,输出的则是对应的value值。
1和3都是真,最终选第二个值,3嘛。
如果第一个真,第二个假,选第一个值。
如果第一个为假,那就是第一个值,不管第二个了。

1 && 'foo' || 0
逻辑或中,如果第一个是真,后面不管了。
从左往右运行,1为真,'foo'为真,
与运行选'foo',然后再运行或。'foo'为真,
后面不用看了。

1 || 'foo' && 0
1虽然为真,但是与的优先级更高,先运行与运算,一真一假取假。
然后再运行或,1为真后面不用管了。

引伸——此时,不是短路了哦!
0 || false
如果两个都是假呢?输出第二个值。
0 || 'foo'
第一个假,第二个真呢?输出真的。
这个好理解,毕竟是或。
为什么?我觉得因为逻辑与中,
都是真就是第二个值,否则就是第一个值。
而逻辑或中,第一个真就是真,否则就是第二个值,
正好对立了,记住就行了。


练习的补充

其实从运算本身上,可以模糊地体会到优先级的判定的逻辑的,首先某个对象,如果想单单作用这个对象的话,就是想把这个对象的属性变了,而它还是挂着那个变量或者表达式的外衣的,它就是个作用目标,作用在它身上,所以这个时候对它属性的改变的优先级最高的,如果低于其他的运算符了,它会先运算,然后形成新的变量或者表达式,到时候,改变属性的作用目标就不是我们想要的了哦。这就是第一梯队的那些自增之类的运算符了。所以,逻辑反比逻辑或,逻辑与高很多了。
然后目标本身属性算是内在的,目标必须要不改变的情况下先完成自身内部的运算符作用。
自身搞定之后,其实这时候,我是划分成目标区块和其他区块的,而其他区块跟目标区块再作用的话,优先级的作用想法就是,先想好自己想要的目标区块,如何通过现有的目标区块得到?
只要是作用后可以改变元目标本身属性的,比如加减,都是比较高的。越后面的,越是简简单单地逻辑上的判断,最后输出的也是没变化的值。具体的顺序,可以查看《运算符优先级》

一些特殊的关系值

Number ( false )
0

Number ('')
0
Number ('  ')
0

NaN == NaN
false

0 == false
true

null == true
false

null == false
false

undefined ==true
false
undefined == false
false

NaN == false
false
NaN == true
false

'' == false
true

'  ' == true
false

'  ' == false
true



最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,219评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,363评论 1 293
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,933评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,020评论 0 206
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,400评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,640评论 1 219
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,896评论 2 313
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,597评论 0 199
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,327评论 1 244
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,581评论 2 246
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,072评论 1 261
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,399评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,054评论 3 236
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,083评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,849评论 0 195
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,672评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,585评论 2 270

推荐阅读更多精彩内容