我发现自己使用以下方法检查 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 错误。如何创建一个函数来处理这个问题?
最佳答案
"The problem is the variable is undefined before it goes through the function. It generates a javascript error."
通过“未定义”,我假设您的意思是“未声明”,因此导致ReferenceError
。
如果是这样,您需要在将其传递给函数之前测试它是否存在,这使得该函数毫无意义。
不要尝试创建一个函数来测试未声明的变量,只需在使用它们之前声明它们即可。
IMO,typeof x === 'undefined'
是一个丑陋的黑客,不应该是必要的。您应该将 ReferenceError
视为一位 friend ,告诉您某些问题需要修复。 typeof
黑客阻止您的 friend 告诉您发生了什么。
关于javascript - 创建一个函数来检查 JS 元素是否存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9304742/