JavaScript 中何时使用 null 或 unfined?
我真的很困惑JavaScript何时返回或.此外,不同的浏览器似乎以不同的方式返回这些。null
undefined
您能否提供一些返回它们的浏览器的示例/。null
undefined
虽然我现在很清楚这个方面,但我仍然不是100%清楚。它是否类似于空白值?undefined
null
例如,您有一个文本框,其中没有设置任何值。现在,当您尝试访问其值时,它会是还是它们相似?null
undefined
我真的很困惑JavaScript何时返回或.此外,不同的浏览器似乎以不同的方式返回这些。null
undefined
您能否提供一些返回它们的浏览器的示例/。null
undefined
虽然我现在很清楚这个方面,但我仍然不是100%清楚。它是否类似于空白值?undefined
null
例如,您有一个文本框,其中没有设置任何值。现在,当您尝试访问其值时,它会是还是它们相似?null
undefined
我发现其中一些答案是模糊而复杂的,我发现弄清楚这些事情的最佳方法是打开控制台并自己测试。
var x;
x == null // true
x == undefined // true
x === null // false
x === undefined // true
var y = null;
y == null // true
y == undefined // true
y === null // true
y === undefined // false
typeof x // 'undefined'
typeof y // 'object'
var z = {abc: null};
z.abc == null // true
z.abc == undefined // true
z.abc === null // true
z.abc === undefined // false
z.xyz == null // true
z.xyz == undefined // true
z.xyz === null // false
z.xyz === undefined // true
null = 1; // throws error: invalid left hand assignment
undefined = 1; // works fine: this can cause some problems
所以这绝对是JavaScript更微妙的细微差别之一。如您所见,您可以覆盖 的值,使其与 相比有些不可靠。据我所知,使用操作员,您可以可靠地使用和互换。但是,由于无法重新定义的优势,我可能会在使用时使用它。undefined
null
==
null
undefined
null
==
例如,如果 等于 或 ,则始终返回 false,而如果等于其中一个或 EXCEPT 则返回 false。variable != null
variable
null
undefined
variable != undefined
variable
null
undefined
undefined
如果需要确保值实际(而不是 ),则可以可靠地使用运算符来区分 和 。===
undefined
null
undefined
null
Null
和 Undefined
都是六种内置类型中的两种。4.3.9 未定义值
未为变量赋值时使用的基元值
4.3.11 空值
表示有意缺少任何对象值的基元值
DOM 方法 、 、 等在调用未返回节点对象时返回(已定义但没有值)。getElementById()
nextSibling()
childNodes[n]
parentNode()
null
属性已定义,但它引用的对象不存在。
这是您可能不想测试平等的少数几次之一 -
if(x!==undefined)
对于空值,将为 true
但对于非非或 的值,将(仅)为 true。if(x!= undefined)
undefined
null