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运算符与未声明的变量一起使用时不会引发 _异常。

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

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

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

未经作者同意,本文严禁转载,违者必究!