如何检查一个变量,如果是null
或undefined
,是什么之间的差异null
和undefined
?
==
和之间有什么区别===
(很难在Google上搜索“ ===”)?
如何检查一个变量,如果它
null
还是undefined
…
是变量null
:
if (a === null)
// or
if (a == null) // but see note below
…但请注意,如果a
is ,则后者也适用undefined
。
它是undefined
:
if (typeof a === "undefined")
// or
if (a === undefined)
// or
if (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
操作返回一个html" target="_blank">对象引用-
一个有效的对象引用(如果找到了DOM元素)或null
(如果没有)。
有趣的是(或者不是),它们是自己的类型。也就是说,null
是Null类型undefined
中的唯一值,也是Undefined类型中的唯一值。
“ ==”和“ ===”有什么区别
它们之间的唯一区别是,==
它将强制输入以尝试使值匹配,而===
不会。举例"1" == 1
来说,是正确的,因为"1"
强制到1
。但是"1" === 1
是 false ,因为类型不匹配。("1" !== 1
是。)的第一步(实际)===
是“操作数的类型是否相同?”
如果答案为“否”,则结果为false
。如果类型相同,那么它将完全==
一样。
类型强制使用非常复杂的规则,并且可能会产生令人惊讶的结果(例如,"" == 0
是正确的)。
我每晚通过詹金斯进行测试。大约95%的时间都是这样。但偶尔它会失败: 使用org.openqa.selenium.InvalidSelectoreXception。注意:这几乎总是有效的。 它会发现并突出它。当我从调试外壳执行 我明白 所以我想我应该得到所有的div并得到他们的ID: 我得到了 所以好吧。我尝试driver.findelement(by.xpath(“//*”))并仍然得到Inva
本文向大家介绍浅谈JavaScript中null和undefined,包括了浅谈JavaScript中null和undefined的使用技巧和注意事项,需要的朋友参考一下 先说null,它表示一个特殊值,常用来描述“空值”。对null执行typeof运算,结果返回字符串“object”,也就是说,可以将null认为是一个特殊的对象值,含义是“非对象”(感觉怪怪的)。实际上,通常认为null是它
JavaScript 有两个表示‘空’的值,其中比较有用的是 undefined。 undefined 的值 undefined 是一个值为 undefined 的类型。 这个语言也定义了一个全局变量,它的值是 undefined,这个变量也被称为 undefined。 但是这个变量不是一个常量,也不是一个关键字。这意味着它的值可以轻易被覆盖。 ES5 提示: 在 ECMAScript 5 的严格
问题内容: 和SQL Server之间有什么区别?我对此进行了研究,但未得到任何澄清。 实际上我想检索具有空值的列 该查询返回预期结果,但以下查询未给出 问题答案: 使用普通运算符与null进行比较永远不会是正确的。 这基本上是因为null是“未知”的,因此无法确定它是否是某个值。 特殊语法和必须用于确定无效性。
由于TypeScript是强类型的,因此简单地使用来检查和听起来是不对的。 TypeScript是否有任何专门的函数或语法糖对此?
我知道stackoverflow上也有类似的问题,但在调查了其中几个之后,我知道 > 他们正在使用不同的存储格式 但这些并不是令人困惑的地方,我不知道什么时候该用一个,什么时候该用另一个。 考虑以下两种情况: 如果由于某种原因(例如错误修复或意外崩溃)需要关闭或重新启动整个应用程序,那么我必须使用保存点来恢复整个应用程序