原型链?!
2019-03-07 本文已影响0人
风起云帆
//String
var a = 'sss'
a.__proto__ === String.prototype // 为 true,a没有prototype
a.__proto__.__proto__ === String.prototype.__proto__ // 为 true
String.prototype.__proto__ === Object.prototype // 为 true
String.__proto__ === Function.prototype // 为 true
var b= new String('sss')
b.__proto__ === String.prototype // 为 true
b.__proto__.__proto__ === Object.prototype // 为 true
//Boolean
var c = true
c.__proto__ === Boolean.prototype // 为 true,c没有prototype
c.__proto__.__proto__ === Boolean.prototype.__proto__ // 为 true
Boolean.prototype.__proto__ === Object.prototype // 为 true
var d= new Boolean(false) //生成 false 值
d.__proto__ === Boolean.prototype // 为 true
d.__proto__.__proto__ === Boolean.prototype.__proto__ // 为 true
Boolean.prototype.__proto__ === Object.prototype // 为 true
//Number
var e = 111
e.__proto__ === Number.prototype // 为 true,e没有prototype
e.__proto__.__proto__ === Number.prototype.__proto__ // 为 true
Number.prototype.__proto__ === Object.prototype // 为 true
var f = new Number(222)
f.__proto__ === Number.prototype // 为 true
f.__proto__.__proto__ === Number.prototype.__proto__ // 为 true
Number.prototype.__proto__ === Object.prototype // 为 true
//Object
var object = {}
object.__proto__ === Object.prototype // 为 true,注意 object 为小写
Object.__proto__ === Function.prototype // 为 true
Object.prototype.__proto__ === null // 为 true
//Function
var fn = function(){}
fn.__proto__ === Function.prototype // 为 true
fn.__proto__.__proto__ === Object.prototype // 为 true
Function.__proto__ === Function.prototype // 为 true
Function.prototype.__proto__ === Object.prototype // 为 true
//Array
var array = []
array.__proto__ === Array.prototype // 为 true
array.__proto__.__proto__ === Object.prototype // 为 true
Array.__proto__ === Funciton.prototype //为true
![](https://img.haomeiwen.com/i5752553/879dd6a1310f05c3.png)
![](https://img.haomeiwen.com/i5752553/ee58ed3256f42496.png)