Javascript中“if typeof undefined”的简写
Shorthand for "if typeof undefined" in Javascript?
是否可以以更简短,更简洁的方式编写此内容?我正在从 XML 读取它,有时 URL 值不存在。
if (typeof(entry[i].getElementsByTagName("url")[0].childNodes[0]) !== "undefined") {
var foo = 'baar'
} else {
var foo = entry[i].getElementsByTagName("url")[0].childNodes[0]
}
已经很多年了,使用这种结构不再有意义(除非您不知道变量而不是值是否未定义)。 undefined
现在是只读的。
简单使用
if (entry[i].getElementsByTagName("url")[0].childNodes[0] === undefined) {
在几乎所有情况下,typeof x === "undefined"
都是一种不好的做法。
在 DOM 元素的特定情况下,您也可以简单地使用
if (!entry[i].getElementsByTagName("url")[0].childNodes[0]) {
因为你不能有一个虚假的节点,当然,当目标是应用默认值时,只需使用
var foo = entry[i].getElementsByTagName("url")[0].childNodes[0] || 'baar';
(请注意,此测试仅在最后一个[0]
之前的所有部分都存在时才有效,通常使用 querySelector
或 DOM 选择 API (如 jQuery)来使所有内容不那么冗长很方便)。
var foo = entry[i].getElementsByTagName("url")[0].childNodes[0] || 'baar'
你可以
这样写。
var ele = entry[i].getElementsByTagName("url");
if (ele && ele[0].childNodes[0]) {
var foo = 'baar'
} else {
//code
}
没有必要显式检查它以进行undefined
.undefined
被评估为false
。
相关文章:
- 为什么会出现错误;未捕获的类型错误:undefined不是函数;
- 使JS对象从typeof=“object”变为typeof=“undefined”
- !foo 和 typeof foo === “undefined” 之间的区别
- 我应该使用(typeof(val) === 'undefined')还是(val === undefin
- Javascript中“if typeof undefined”的简写
- 什么's执行回退时window.jQuery和if(typeof jQuery==“undefined”)之间的
- 这个速记语句实际上是如何工作的?“x = ( typeof x != 'undefined' && x
- 为什么typeof字符串显示'undefined'在js
- lang . isundefined vs . typeof undefined,哪个更好,为什么?
- 使用typeof窗口的任何问题.postMessage === undefined
- JavaScript: typeof fooVariable !== 'undefined' vs fo
- if (typeof window !== 'undefined')的目的是什么?
- 在Javascript中,is typeof var !== undefined相当于if(var)
- 为什么“typeof false || undefined”返回"布尔值”;
- typeof == "undefined"比较日期,新的日期,数学.这个简单的js代码有什么问题?
- Javascript typeof item === "undefined"永远不会返回true
- JavaScript: typeof attr.name returns undefined
- 为什么我们使用typeof XMLHttpRequest !="undefined"?什么是未定义的
- 检查javascript中的undefined——我是否应该使用typeof
- Why Does typeof array[0] == 'undefined' Not Work?