window.onload=function(){
if(test()&&true){
console.log("hello");
}
console.log(test()&&true);
};
function test(){
}
为什么执行console.log(真& &未定义)返回undefined而如果(真& &未定义)返回false?为什么console.log(true && undefined)返回undefined而if(true && undefined)返回false?
非常感谢!还有一个问题,为什么true && undefined的计算结果未定义,当两个变量通过“&&”连接时,为什么undefined不计算为false? – Vincent
@ user2272735:因为JavaScript'&&'没有将其操作数转换为布尔值 - 它只评估左操作数的真实性。阅读[我已链接的文章](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Logical_Operators) – Bergi
我完全明白了,并感谢您的帮助 – Vincent