第二个知识点:原始类型。javascript
目前JavaScript有七种数据类型,其中六种基本数据类型,一种复杂数据类型。
函数(function)java
typeof运算符、instanceof运算符、Object.prototype.toString方法
typeof null
输出来的结果是object
而并不是是null
还有两种方法,后面会有介绍。数组
console.log(typeof "undefined"); // undefined console.log(typeof null); // object(历史问题)
undefined == null //true undefined === null //false Number(undefined) //NaN Number(null) //0
undefined
:表示“缺乏值”,意思就是此处本来应该有个值,在使用var
声明一个变量但未对其加以初始化。函数
null
:表示“一个空对象指针”、“没有对象”、“空值”,就是此处不该该有值;(typeof null)
获得的是object
,能够理解为一种特殊的对象值。prototype
在ECMA-262第三版引入undefined,是为了正式区分空对象指针和未经初始化的变量。 若是定义的变量准备在未来用于保存对象,那么最好在该变量初始化为nul`而不是其余值(摘自高程3P24).
这节知识点比较简单,接着具体一点值类型和引用类型。今年开始,文章先发表在了掘金主页了哟,所以博客园就滞后点了~指针