我有代码,我只想在定义变量并且length
时运行,所以我使用这个条件块:
if (typeof(elem) !== undefined) {
console.log( 'elem is not undefined' );
console.log(typeof(elem));
if (elem.length) {
// do stuff
}
}
那么,我如何在控制台中获得此输出? :
elem is not undefined main.js:214 undefined main.js:215 Uncaught TypeError: Cannot read property 'length' of undefined
答案 0 :(得分:0)
好吧,我在输入问题时找到了答案,我想我会分享它以防其他人遇到这个简单的问题。
typeof()
返回一个字符串。如果变量未定义,则typeof()
的返回将是字符串" undefined",而不是使用保留字undefined
的实际值。
所以,我的代码可以简化:
if ((typeof(elem) != "undefined") && (elem.length)) {
// do stuff
}
将它分成两个单独的if
语句只是我在搜索之前首次尝试修复它。