①//未定义x
if(x)
if(x==null)
②//定义x为null
if(x)
if(x==null)
上面四种情况,告诉我true or false
你未定义是个什么意思?只有var申明没有赋值还是都没有var过?
如果都没有var定义过,①报错
var定义没有赋值,①是false,true②也一样,没赋值默认值为undefined,和null对比为true
JS中undefined, null, 0, '', false,使用真值判断均为false
看你用什么语言了,不同语言编译器解释不一样
定义为null,跟是否为boolean不一样
C#没办法在不确定类型的时候使用null
var a = null; //这个没法编译。
在js中
①//未定义x
if(x)
if(x==null)
都是报错
②//定义x为null
if(x)
未定义
if(x==null)
true
验证方法:
打开:http://www.3464.com/tools/WebCodesRun/
输入代码
<script type="text/javascript">
alert(x);
</script>
<script type="text/javascript">
alert(x==null);
</script>
<script type="text/javascript">
var x;
alert(x);
</script>
<script type="text/javascript">
var x;
alert(x==null);
</script>