我想创建一个可重用的函数,检查变量是否未定义。奇怪的是,当我将变量传递给函数来执行代码时,它不起作用,但如果我在函数之外使用相同的逻辑,它就会起作用。有什么办法让这个函数isDefined工作吗?将未定义的变量传递给函数时出错?
//THIS WORKS AND RETURN FALSE
alert(typeof sdfsdfsdfsdf !== 'undefined');
//THIS GIVES AN ERROR, WHY?
//Uncaught ReferenceError: sdfsd is not defined
function isDefined(value) {
alert(typeof value !== 'undefined' && value !== null)
}
isDefined(sdfsd);
这里活生生的例子(检查错误控制台):http://jsfiddle.net/JzJHc/
你不能这样做。如果它不存在,如何将它放入函数中进行测试?此外:'typeof value!=='undefined'&& value!== null'是非常不必要的。如果你想要一个'null'或'undefined'测试,只需要'value == null'。它完成了同样的事情。 – 2012-08-09 00:08:31