检查未定义的值,但它仍未定义
Checking for undefined value, but it's still undefined
我有代码,我只想在定义变量并且具有length
时运行,所以我使用此条件块:
if (typeof(elem) !== undefined) {
console.log( 'elem is not undefined' );
console.log(typeof(elem));
if (elem.length) {
// do stuff
}
}
那么,如何在控制台中获取此输出?
elem 并非未定义主.js:214 未定义main.js:215 未捕获的类型错误:无法读取未定义的属性"长度"
好吧,我在输入问题时找到了答案,我想我会分享它,以防其他人遇到这个简单的问题。
typeof()
返回一个字符串。如果变量未定义,则返回typeof()
将是字符串"undefined",而不是使用保留字undefined
的实际值。
因此,我的代码可以简化:
if ((typeof(elem) != "undefined") && (elem.length)) {
// do stuff
}
将其分解为两个单独的if
语句只是我在搜索之前修复它的第一次尝试。
相关文章:
- 如何检查管道中未定义的项目
- 如何在JavaScript中检查变量是否为null和/或未定义
- 检查对象的所有属性是否未定义
- JSON偶尔未定义-我该如何检查
- AngularJs 检查是否未定义和空的最佳实践
- 如何检查服务器是否返回未定义然后忽略它
- 离子警报 - 检查结果是否未定义
- 什么更快?运行空函数或检查函数是否未定义
- 理解Javascript中的“未定义”:它是如何工作的,如何安全地检查它以及是否可以重新分配
- Jquery Ajax 和 Json:如何检查是否未定义
- 正在检查未定义的值
- 检查链接对象形式中未定义属性的最佳实践是什么
- 检查是否有未定义的数组
- 函数返回undefine,即使我在返回之前检查了变量是否未定义
- 检查未定义的变量
- JavaScript 中的 null 或未定义检查
- 未捕获的引用错误: 未定义检查可用性
- JavaScript渐进式未定义检查
- Javascript未定义检查不工作
- 用于一系列空/未定义检查的Javascript最佳实践