javascript原型链详细关系图及总结

一:构造函数创建对象字面量原型图

function Person(name) {
    this.name = name;
}
var p = new Person('小胡');
javascript原型链详细关系图及总结_第1张图片
构造函数创建对象字面量原型图

二:完整对象字面量原型图

var obj = { name: '小胡' };
javascript原型链详细关系图及总结_第2张图片
完整对象字面量原型图

三:数组原型链

var arr = ["a","b","c"];
javascript原型链详细关系图及总结_第3张图片
数组原型链

四:基本包装类型原型链

var str  = new String('str');  // var str = 'str';
javascript原型链详细关系图及总结_第4张图片
基本包装类型原型链

总结:

根据以上图总结下列规律:

  • 除Object以外的所有对象的prototype__proto__都指向Object.prototype(Object.prototype.proto == null)
  • 所有对象的__proto__都指向Function.prototype
  • 所有对象的prototypeconstructor都指向对象本身

你可能感兴趣的:(javascript原型链详细关系图及总结)