有没有人可以告诉我什么是“== +!”含义如下:
if(my_var.length==+!0) //do something
我试试谷歌但没有得到结果。
答案 0 :(得分:3)
这样想:
if (my_var.length == (+(!0)))
自!0 === true
和+true === 1
以来,您最终会得到以下评估序列:
if (my_var.length == (+(!0)))
if (my_var.length == (+true))
if (my_var.length == 1)
仅供参考,在决定如何处理运算符here时,您可以看到Javascript运算符优先级的有序列表。
此处相关,!
运算符的优先级最高,然后是unary +
运算符,然后是==
运算符。
在此处查看!0
和+true
的结果:http://jsfiddle.net/jfriend00/wh840n3q/
答案 1 :(得分:0)
那只是:
if(my_var.length==1)
因为!0
为true
且+true
为1
:)