现在只说特殊情况:
1、一个变量,例如n1=null
<script>
var n1 = null;
alert(n1);/*弹窗的值为null*/
if (n1 == null) {/*如果是if(n1)将不会执行里面的函数体*/
alert("弹窗了");
}
</script>
2、一个变量,例如n1,不赋值
<script>
var n1;
alert(n1);/*弹窗的值为undefined*/
if (typeof (n1) == "undefined") {/*如果是if(n1)或者if(n1=="undefined")将不会执行里面的函数体*/
alert("弹窗了");
}
</script>
3、一个变量,例如n1,n1=“”
<script>
var n1 = "";
alert(n1);/*弹窗的值为空(什么都不显示,但是会弹窗)*/
if (n1 == "") {/*如果是if(n1)将不会执行里面的函数体*/
alert("弹窗了");
}
</script>
4、一个变量,例如n1,n1=“ ”
<script>
var n1 = " ";
alert(n1);/*弹窗的值为空(什么都不显示,但是会弹窗)*/
if (n1) {/*如果是n1.trim().length > 0将不会执行里面的函数体*/
alert("弹窗了");
}
</script>
5、一个变量,例如n1,n1=0,n2不赋值
<script>
var n1 = 0;
var n2;
alert(n1 + n2);/*弹窗的值为NaN*/
if (isNaN(n1 + n2)) {/*如果是if (n1 + n2)将不会执行里面的函数体*/
alert("弹窗了");
}
</script>
6、对于上述的情况,除了n1=“ ”赋值的是多个空格这个特殊情况,其他都可以用下述代码来判断
if (!n1)
注释:因为上述几种情况,直接写if(n1)或者if(n1+n2)都不会直接执行函数体中的代码,所以这样写也是可行。
