没有运算符的JavaScript If语句条件?它有什么作用?
我习惯于 if 语句的条件为 ( x < y ) 或 ( x == y ).但是在没有运算符的情况下,if 语句究竟检查了什么?即在下面的示例中 if (window.XMLHttpRequest)... 条件是什么?
I am used to if statements having a condition where ( x < y ) or ( x == y ). But in cases where there is no operator, what does the if statement check exactly? i.e. in the example below if (window.XMLHttpRequest)... what's the condition?
谢谢.
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
推荐答案
只要括号内的表达式返回的不是false, null, 0, "" 或 undefined... if 语句中的块将被执行:-)
As long as the expression inside the parentheses returns something other than false, null, 0, "" or undefined... the block in the if statement will be executed :-)
事实上,以下所有方法都可以:
<script>
if (3) {
alert('3');
}
if ({}) {
alert('{}');
}
if(window) {
alert('window!');
}
if(true) {
alert('true!');
}
if('hell yeah') {
alert('hell yeah!');
}
</script>
相关文章