javascript - 创建一个函数来检查 JS 元素是否存在

标签 javascript function undefined referenceerror

我发现自己使用以下方法检查 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/

相关文章:

C++:不能使用简单的指针?

javascript - 所有对象属性不为空的javascript

javascript - 我们如何设计来自数组连接的字符串?

javascript - jquery。如何将函数与各种元素重用

javascript - 如何将 Canvas 转换为图像以上传到 flask ?

javascript - 如何在 JS 中获取 CryptoJS.HmacSHA256 的摘要表示

javascript - “if”语句无法正常运行

c - 有没有办法在C中获取函数的参数名称

javascript - 仅在 JavaScript 中使用常量时未定义的用例?

header - “ header ”在 IE11 中未定义