null :
可以在声明变量时作为一个占位符防止报错(var a = null,表示a这个变量的值是“空”)。
undefined不是javascript的关键字,它表示一个变量已经声明但是没有初始化
这里我个人认为undefined本身是一个值,它的类型是"undefined",这么说可能有些拗口,但是看下下面的例子:
在做无值校验时,不建议用if (variable == undefined)的方法.因为javascript默认null和undefined的值是相等的
null是javascript的关键字,表示“空”,是不包含任何值的javascript内置对象。
alert(typeof(null)); //结果是object
可以在声明变量时作为一个占位符防止报错(var a = null,表示a这个变量的值是“空”)。
var a = null;
alert(a); //结果是null
undefined:
undefined不是javascript的关键字,它表示一个变量已经声明但是没有初始化
var a;
alert(a); //结果是undefined
这里我个人认为undefined本身是一个值,它的类型是"undefined",这么说可能有些拗口,但是看下下面的例子:
var a;
alert(typeof(undefined)); //结果undefined 这里并不会把undefined当作一个没有声明的变量,否则会产生运行时错误
alert(typeof(a)); //结果undefined
alert(a == undefined); //结果true
alert(a === undefined) //结果ture, 一致性运算符只有当类型和值都相等的时候结果为true
在做无值校验时,不建议用if (variable == undefined)的方法.因为javascript默认null和undefined的值是相等的
alert(null == undefined); //true
最好用一致性运算符或者typeof判断
if (variable === undefined)
//或者
if (typeof(variable) == "undefined")