JavaScript 检查变量是否存在(已定义/初始化)
2022-08-29 21:51:27
哪种检查变量是否已初始化的方法更好/正确?(假设变量可以容纳任何东西(字符串,int,对象,函数等))
if (elem) { // or !elem
或
if (typeof elem !== 'undefined') {
或
if (elem != null) {
哪种检查变量是否已初始化的方法更好/正确?(假设变量可以容纳任何东西(字符串,int,对象,函数等))
if (elem) { // or !elem
或
if (typeof elem !== 'undefined') {
或
if (elem != null) {
运算符将检查变量是否真的未定义。typeof
if (typeof variable === 'undefined') {
// variable is undefined
}
与其他运算符不同,该运算符在与未声明的变量一起使用时不会引发 ReferenceError 异常。typeof
但是,请注意,将返回 。我们必须小心避免将变量初始化为 的错误。为了安全起见,我们可以改用以下方法:typeof null
"object"
null
if (typeof variable === 'undefined' || variable === null) {
// variable is undefined or null
}
有关使用严格比较而不是简单相等的更多信息,请参阅:
在JavaScript比较中应该使用哪个等于运算符(== vs ===)?===
==