没有运算符的JavaScript If语句条件?它有什么作用?

2022-01-20 00:00:00 if-statement conditional javascript

我习惯于 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>

相关文章