看完王福鹏原型闭包观后感(一)

2018-07-03  本文已影响0人  神话降临

js数据类型

基本类型: boolean string number undefind
引用类型: 对象 函数 null 数组

typeof 验证数据类型 引用类型一律得出object的结果 typeof null 会输出object
instanceof 主要用来验证数据类型是不是对象 xxx instanceof Object

对象

引用类型都是对象,对象是属性的集合

对象都是通过函数创建的(function Object(){}),但是函数也是一种对象
每个函数都有一个原型链prototype属性,这个属性的值也是一个对象,这个对象有一个默认的属性叫constructor指向该函数
而且有意思的是 每个对象都有一个原型访问器指向创建该对象函数的原型(prototype)
这个话有点绕 举个例子

var obj = new Object()
obj.__proto__ === Object.prototype

Object.prototype也是一个对象他的proto指向null

函数都是被function Function(){}创建的,而funtion Function是被自己创建的,所以他的__proto __指向自己的prototype

记住四点帮你理解原型链
1.对象的__proto __指向创建该对象函数的prototype
2.函数都是被function Function(){}创建的(当然包括function Object(){}),而funtion Function是被自己创建的
3.对象是被function Object创建的 Object.prototype.__proto __ 指向null
4.函数的prototype.__proto __ 都指向Object.prototype

再补充一点 每个函数.prototype.constructor 指向函数本身,打印出来的就是当前函数

[原型链图]


image.png
上一篇下一篇

猜你喜欢

热点阅读