栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

JavaScript检查null与undefined以及==和===之间的差异

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

JavaScript检查null与undefined以及==和===之间的差异

如何检查一个变量,如果它

null
还是
undefined

是变量

null

if (a === null)// orif (a == null) // but see note below

…但请注意,如果

a
is ,则后者也适用
undefined

它是

undefined

if (typeof a === "undefined")// orif (a === undefined)// orif (a == undefined) // but see note below

…但是再次,请注意,最后一个是模糊的;如果

a
是的话,也是正确的
null

现在,尽管有上述情况, 检查这些内容的 通常 方法是使用它们是 的事实:

if (!a) {    // `a` is falsey, which includes `undefined` and `null`    // (and `""`, and `0`, and `NaN`, and [of course] `false`)}

这由规范中的ToBoolean定义。

......是什么之间的差异

null
undefined

它们都是通常用来表示缺少某些东西的值。

undefined
是更通用的变量,用作变量的默认值,直到为其分配了其他值,作为调用函数时未提供的函数参数的值,以及当您询问对象时获得的值没有它的财产。但也可以在所有这些情况下明确使用它。(不具有属性的对象和具有带值的属性
undefined
之间存在区别;调用
undefined
具有参数值的函数并将该参数完全关闭是有区别的。)

null
undefined
:更具体:这是一个空白对象引用。当然,Javascript是松散类型的,但并非与Javascript交互的所有事物都是松散类型的。如果浏览器中的DOM之类的API需要空白的对象引用,则使用
null
,而不是
undefined
。同样,DOM的
getElementById
操作返回一个对象引用-
一个有效的对象引用(如果找到了DOM元素)或
null
(如果没有)。

有趣的是(或者不是),它们是自己的类型。也就是说,

null
是Null类型
undefined
中的唯一值,也是Undefined类型中的唯一值。

“ ==”和“ ===”有什么区别

它们之间的唯一区别是,

==
它将强制输入以尝试使值匹配,而
===
不会。举例
"1" == 1
来说,是正确的,因为
"1"
强制到
1
。但是
"1"=== 1
false ,因为类型不匹配。(
"1" !== 1
是。)的第一步(实际)
===
是“操作数的类型是否相同?”
如果答案为“否”,则结果为
false
。如果类型相同,那么它将完全
==
一样。

类型强制使用非常复杂的规则,并且可能会产生令人惊讶的结果(例如,

"" == 0
是正确的)。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/430265.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号