js中的null和undefined

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js中的null和undefined相关的知识,希望对你有一定的参考价值。

大部分编程语言一般有一个表示“无”的值,而js中却有两个,null和undefined。所以查了一些资料,小结在此,以便查阅。

js中的变量有两大类,基本的值类型,引用类型。其中值类型分为:Undefined,Null,Number,Bolean,String五种。可见null和undefined是不同的类型。

a)undefined

undefined的出现一般有以下几种情况:

1 变量声明而未初始化。

2 对象的属性未赋值。

3 函数调用时,缺省的参数为undefined。

4 函数没有返回值时,默认返回undefined。

从上面可以看出,当变量或属性未初始化时,缺省值即为undefined,所以不需要显示的设置一个变量的值为undefined。这时就会想不需要显示设置,要他干吗???其实它只是为了区分空对象指针(null)与未经初始化的变量。

b)null

null表示空对象指针,即存储尚未存在的对象。所以这也是使用typeof操作符检测null时返回"object"的原因。(typeof返回字符串且首字母都小写)

上面提到不需要显示设置变量值为undefined,而把值设置为null却是很必要的,假如声明的变量用来表示对象,而还没有真正保存,就应该将其设置为null。

还有就是undefined是派生自null的,所以用“==”时返回的是true。

 

以上是关于js中的null和undefined的主要内容,如果未能解决你的问题,请参考以下文章

C++的宏利用include和undef来重复使用

在 react.js 中使用 three.js 创建 WebXR 应用程序时,我不断看到“XRWebGLLayer”未定义 no-undef

lodash - slice

JavaScript数据类型

进程中的 Erlang 错误,退出值为 undef

反应错误:未定义 web3' no-undef