一尘不染

JavaScript 检查变量是否存在(defined/initialized)

javascript

检查变量是否已初始化的哪种方法更好/正确?(假设变量可以保存任何东西(字符串、整数、对象、函数等))

if (elem) { // or !elem

或者

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

或者

if (elem != null) {

阅读 220

收藏
2022-02-11

共2个答案

一尘不染

想要运营typeof。具体来说:

if (typeof variable !== 'undefined') {
    // the variable is defined
}
2022-02-11
一尘不染

操作员将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
}
2022-02-11