建设网站最好的,商业空间设计案例网站,上海网络营销,金蝶软件多少钱目录
一、奇怪点
二、历史原因
三、具体区别
四、代码演示
五、运行结果 一、奇怪点
有点奇怪的是#xff0c;JavaScript语言居然有两个表示无的值#xff1a;undefined和null。这是为什么#xff1f;
二、历史原因
1995年JavaScript诞生时#xff0c;…目录
一、奇怪点
二、历史原因
三、具体区别
四、代码演示
五、运行结果 一、奇怪点
有点奇怪的是JavaScript语言居然有两个表示无的值undefined和null。这是为什么
二、历史原因
1995年JavaScript诞生时最初像Java一样只设置了null作为表示无的值。根据C语言的传统null被设计成可以自动转为0。
但是JavaScript的设计者觉得这样做还不够主要有以下两个原因。
1. null像在Java里一样被当成一个对象。但是JavaScript的数据类型分成原始类型primitive和合成类型complex两大类作者觉得表示无的值最好不是对象。
2. JavaScript的最初版本没有包括错误处理机制发生数据类型不匹配时往往是自动转换类型或者默默地失败。作者觉得如果null自动转为0很不容易发现错误。
因此作者又设计了一个undefined。
这里注意先有null后有undefined出来undefined是为了填补之前的坑。
三、具体区别
JavaScript的最初版本是这样区分的null是一个表示无的对象空对象指针转为数值时为0undefined是一个表示无的原始值转为数值时为NaN。
四、代码演示
console.log( 1 null );
console.log( 1 undefined );
五、运行结果