From 33058f2b292b3a581333bdfb21b8f671898c5060 Mon Sep 17 00:00:00 2001 From: Peter Bengtsson Date: Tue, 8 Dec 2020 14:40:17 -0500 Subject: initial commit --- .../reference/global_objects/null/index.html | 93 ++++++++++++++++++++++ 1 file changed, 93 insertions(+) create mode 100644 files/zh-cn/web/javascript/reference/global_objects/null/index.html (limited to 'files/zh-cn/web/javascript/reference/global_objects/null/index.html') diff --git a/files/zh-cn/web/javascript/reference/global_objects/null/index.html b/files/zh-cn/web/javascript/reference/global_objects/null/index.html new file mode 100644 index 0000000000..b2c434ace0 --- /dev/null +++ b/files/zh-cn/web/javascript/reference/global_objects/null/index.html @@ -0,0 +1,93 @@ +--- +title: 'null' +slug: Web/JavaScript/Reference/Global_Objects/null +tags: + - JavaScript + - Literal + - Primitive +translation_of: Web/JavaScript/Reference/Global_Objects/null +--- +
{{jsSidebar("Objects")}}
+ +

值 null 特指对象的值未设置。它是 JavaScript {{Glossary("Primitive", "基本类型")}} 之一,在布尔运算中被认为是falsy

+ +
{{EmbedInteractiveExample("pages/js/globalprops-null.html")}}
+ + + +

语法

+ +
null
+ +

描述

+ +

null 是一个字面量,不像 {{jsxref("Global_Objects/undefined","undefined")}},它不是全局对象的一个属性。null 是表示缺少的标识,指示变量未指向任何对象。把 null 作为尚未创建的对象,也许更好理解。在 API 中,null 常在返回类型应是一个对象,但没有关联的值的地方使用。

+ +
// foo 不存在,它从来没有被定义过或者是初始化过:
+foo;
+"ReferenceError: foo is not defined"
+
+// foo 现在已经是知存在的,但是它没有类型或者是值:
+var foo = null;
+foo;
+null
+ +

null 与 undefined 的不同点:

+ +

当检测 nullundefined 时,注意相等(==)与全等(===)两个操作符的区别 ,前者会执行类型转换:

+ +
typeof null        // "object" (因为一些以前的原因而不是'null')
+typeof undefined   // "undefined"
+null === undefined // false
+null  == undefined // true
+null === null // true
+null == null // true
+!null //true
+isNaN(1 + null) // false
+isNaN(1 + undefined) // true
+
+ +

规范

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
规范版本规范状态注解
{{SpecName('ES1')}}{{Spec2('ES1')}}Initial definition.
{{SpecName('ES5.1', '#sec-4.3.11', 'null value')}}{{Spec2('ES5.1')}}
{{SpecName('ES6', '#sec-null-value', 'null value')}}{{Spec2('ES6')}}
{{SpecName('ESDraft', '#sec-null-value', 'null value')}}{{Spec2('ESDraft')}}
+ +

浏览器兼容性

+ + + +

{{Compat("javascript.builtins.null")}}

+ +

参见

+ + -- cgit v1.2.3-54-g00ecf