一尘不染

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

javascript

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

if (elem) { // or !elem

要么

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

要么

if (elem != null) {

阅读 444

收藏
2020-04-25

共1个答案

一尘不染

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
}
2020-04-25