如果我不知道变量是否存在,如何比较变量和未定义变量?

2022-08-30 05:32:14

在JavaScript中,你可以声明一个变量,如果是,你可以检查;我知道这一点,但是如果一个你还不知道的值在内存中,你怎么能比较它呢?undefinedvariable == undefined

例如,我有一个类,当用户单击按钮时创建该类。在此之前,该类是未定义的 - 它不存在于任何地方;我该如何比较呢?

有没有办法不使用 –?trycatch


答案 1

最好的方法是检查类型,因为 // 在 JS 中是一件棘手的事情。所以:undefinednullfalse

if(typeof obj !== "undefined") {
    // obj is a valid variable, do something here.
}

请注意,始终返回一个字符串,如果变量根本不存在,则不会生成错误。typeof


答案 2
if (obj === undefined)
{
    // Create obj
}

如果你正在做广泛的javascript编程,你应该养成使用习惯,当你想做一个特定于类型的检查。===!==

另外,如果你要做相当多的javascript,我建议通过JSLint运行代码,http://www.jslint.com 一开始可能看起来有点严厉,但JSLint警告你的大多数事情最终都会回来咬你。