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


以上是我个人答案,可以参考一下,有不同理解的欢迎讨论!





3

0 学习 · 36712 问题

查看课程