在书上看到js惰性求值的一段介绍:如果javascript引擎在一个逻辑表达式中遇到一个非布尔类型的操作数,那么该操作数的值就会成为该表达式所返回的结果。列如:
true || "something";输出 true
true && "something";输出 "somethi优艾设计网_设计模板ng"
true&&"something"&&true;输出true
对于第三个输出true不理解,按照书上的介绍不是应该输出"something"吗?
还有我自己测试中将true && "something" 的顺序颠倒变成
"something"&&true; 输出"true",这又是为什么呢?
ycgq1982 11小时前
false || something 返回 ‘something’ ,因为判优艾设计网_设计百科断了 ’something‘是才能有答案
黃建荃 11小时前 优艾设计网_PS论坛
true && something || true
, 返回什么? 当然是 something, 因为判断到 something
的时候,整个语句就已经有答案了 ,因此返回 something
纱尘幔桃生1818535059 优艾设计网_平面设计 11小时前
第三句,同理,判断了 第一个 true ,第二个 something,仍然不能确定整体是否为 true ,需要判断第三个条件,自然返回 true
360U3212267496 优艾设计网_设计LOGO 11小时前
希望我讲明白了。
折失的誓言群 11小时前
先看第一句 true || "somethi优艾设计网_Photoshop交流ng"
, ||
或字符,遇到 true ,条件成立,返回true
纱尘幔桃生1818535059 11小时前 优艾设计网_PS交流
第二句,&&
且字符,碰到 true ,但条件不一定成立,需要判断后面的, 那么就返回后面的值 也就是 something
精彩评论