JavaScript检查变量是否存在(已定义/初始化)

检查变量是否已被初始化的哪种方法更好/更正? (假设变量可以容纳任何东西(string,int,object,function等))

if (elem) { // or !elem

要么

if (typeof(elem) !== 'undefined') {

要么

if (elem != null) {

你想要typeof运算符。 特别:

if (typeof variable !== 'undefined') {
    // the variable is defined
}

typeof运算符将检查变量是否真的未定义。

if (typeof variable === 'undefined') {
    // variable is undefined
}

与其他运算符不同, typeof运算符与未声明的变量一起使用时不会引发ReferenceError异常。

但是,请注意typeof null将返回"object" 。 我们必须小心避免将变量初始化为null的错误。 为了安全起见,我们可以使用以下代码:

if (typeof variable === 'undefined' || variable === null) {
    // variable is undefined or null
}

有关使用严格比较===而不是简单等式==更多信息,请参阅:
应该在JavaScript比较中使用哪个等于运算符(== vs ===)?


链接地址: http://www.djcxy.com/p/95015.html

上一篇: JavaScript check if variable exists (is defined/initialized)

下一篇: How do I check for the existence of a variable