【www.bbyears.com--js教程】
没有给变量赋值,如:var tmp;如果这是用typeof去判断这个变量的类型的话肯定是undefined类型。
如果用var 声明了某变量之后我们可以直接用
代码如下if( tmp == undefined )或者if( tmp != undefined )
去判断,这个是没有问题的,不过这边也容易出现一个陷阱,如果一个变量没有用var声明过,而直接用
代码如下if( tmp == undefined )或者if( tmp != undefined )
去判断的话是错误的,这个时候浏览器会报错,提示 XXX 未定义(IE下)或者XXX is not defined(火狐下)。我想在js中还是存在变量先声明再使用这个限制的,但是遇到上面的问题时还是可以直接使用typeof(XXX)来判断的吗,这个在所有浏览器下都是支持的,但是需要注意的是用typeof得出的结果是一个字符串,所以在比较的时候要比较字符串,
如:
typeof(undefined) == "undefined"
JavaScript 中有两个特殊数据类型:undefined 和 null,下节介绍了 null 的判断,下面谈谈 undefined 的判断。
以下是不正确的用法:
代码如下if (reValue== undefined){
alert("undefined");
}
reValue为 null 时,也会得到与 undefined 相同的结果,虽然 null 和 undefined 不一样。注意:要同时判断 undefined 和 null 时可使用本法。
var exp = undefined;
if (typeof(exp) == undefined)
{
alert("undefined");
}
typeof 返回的是字符串,有六种可能:"number"、"string"、"boolean"、"object"、"function"、"undefined"
以下是正确的用法:
var exp = undefined;
if (typeof(exp) == "undefined")
{
alert("undefined");
}