Unifined类型只有一个值,就是unifined,当声明的变量未初始化时,该变量的默认值是undefined。所以一般地,undefined表示变量没有初始化
<script type="text/javascript"> var test; //typeof(test); //undefined console.log(test==undefined); </script>
出现场景:
【1】已声明未赋值的变量
var i; console.log(i);//undefined
【2】获取对象不存在的属性
var o = {}; console.log(o.p);//undefined
【3】无返回值的函数的执行结果
function f(){}; console.log(f());//undefined
【4】函数的参数没有传入
function f(x){return x;} console.log(f());//undefined
【5】void(expression)
console.log(void(0));//undefined
类型转换:
Boolean(undefined): false Number(undefined): NaN String(undefined): 'undefined' Date(undefined); Tue Oct 17 2017 14:04:33 GMT+0800
类型鉴别:
console.log(typeof undefined);//'undefined' console.log(typeof 'undefined');//'string' var undefined = 10; console.log(undefined);//IE8-浏览器下为10,高版本浏览器下为undefined
刚好用的IE8,显示结果如下:
function t(){ var undefined = 10; console.log(undefined); } console.log(t());//
返回结果为:0
undefined