console.log(!!" " + !!"" - !!false || "未通过")
字符串中有空格,是真,前面两个叹号,是假之后真,结果是true true是1
空字符串,无值,是假,前面两个叹号,是真之后假,结果是false false是0
false前面两个叹号,是真之后假,结果是false false是0
1 + 0 - 0 || "未通过" 中间是 或运算符 ,所以有一个为真就不往后走了 所以结果是1
window.a || (window.a = "1")
console.log(window.a)
或运算符 前面是假, window.a是undefined, 是假,所以往后走 赋值 ,在这个题中是错的。
正确的是, 先看括号,也就是先赋值,再看前面的window.a,window.a就是真了,打印得到1。 括号的优先级最高,先走括号再走或运算
未完待续....
未完待续....