1-10 选择题的第五个不懂
来源:1-10 选择题
陈雨璐
2018-01-21 15:00:53
清晰、完整得描述问题,更容易得到专业的回复
1回答
鱼蛋肠粉
2018-01-21
第一个 if 里面各项参数因为都不是布尔值,所以经过隐式转换成布尔值以后,它们分别应该是 false || true || true , 根据 逻辑 || 的比较规则 “
如果第一个操作数隐式类型转换后为 false,则返回第二个操作数
”所以第一第二个参数比较后返回的是 true ,
同理根据比较规则 “如果第一个操作数隐式类型转换后为 true,则返回第一个操作数”
所以第二和第三个参数之间比较过后,返回的是 true,所以整个条件里面返回的应该是 true,条件成立,输出 “hello”
第二个 if 转换布尔值后,分别是 true && true && false (boolean 因为是 undefined,所以转换后为 false)
根据 逻辑 && 的比较规则 “如果第一个操作数隐式类型转换后为true,则返回第二个操作数 ”
所以第一第二个参数比较后返回的是 true,
同理根据同一个比较规则,第二和第三个参数之间比较过后,返回的是 false ,条件不成立,不作输出
第三个 if,转换布尔值后 分别是 (true || false )|| false
(boolean 因为是 undefined,所以转换后为 false,再经过 ! 转换后则为 true 值)
根据以上 逻辑 || 的比较规则,“如果第一个操作数隐式类型转换后为 true,则返回第一个操作数”
可以得出最终条件的布尔值为 true,因此条件成立,输出 hello world
所以最后答案为 hello hello world 即 D
以上是我个人答案,可以参考一下,有不同理解的欢迎讨论!
相似问题