我发现自己正在检查javascript元素是否存在很多使用:
if (typeof elem == "undefined")
// Do something
我想创建一个函数,这样我就可以减少代码重复。
if (exists(elem))
这是我创建的功能:
if (typeof exists == 'undefined') {
function exists (e)
{
if (typeof e == "undefined")
return false;
return true;
}
}
问题是变量在通过函数之前是未定义的。它会生成一个javascript错误。如何创建一个处理此功能的函数?
答案 0 :(得分:3)
“问题是变量在通过函数之前是未定义的。它会生成一个javascript错误。”
通过“undefined”,我认为你的意思是“未声明”,因此导致ReferenceError
。
如果是这样,你需要在将它传递给函数之前测试它是否存在,这使得函数变得毫无意义。
不是试图创建一个函数来测试未声明的变量,而是在使用它们之前简单地声明它们。
IMO,typeof x === 'undefined'
是一个丑陋的黑客,不应该是必要的。你应该认为ReferenceError
是一个告诉你需要修复的朋友。 typeof
黑客会阻止你的朋友告诉你发生了什么。