检查变量是否已初始化的哪种方法更好/正确?(假设变量可以保存任何东西(字符串、整数、对象、函数等))
if (elem) { // or !elem
或者
if (typeof elem !== 'undefined') {
if (elem != null) {
想要运营商typeof。具体来说:
typeof
if (typeof variable !== 'undefined') { // the variable is defined }
操作员将typeof检查变量是否真的未定义。
if (typeof variable === 'undefined') { // variable is undefined }
与其他运算符不同,该运算符在与未声明的变量一起使用时typeof不会引发ReferenceError异常。
但是,请注意,typeof null将返回"object". 我们必须小心避免将变量初始化为null. 为了安全起见,我们可以使用以下代码:
typeof null
"object"
null
if (typeof variable === 'undefined' || variable === null) { // variable is undefined or null }