js复习笔记(原型与原型链)
2018-04-01 本文已影响0人
jofhkg
1)、所有的引用类型都具有对象的特性、即可随意扩展属性(null除外!)
例如:var a = {};
a.b = 2;a.c = function(){alert(1)};对对象a扩展了b,c属性。
所有的引用类型都有一个_proto_属性(隐原型)。其为一个普通对象。
所有的函数都有一个显原型prototype,也是指向一个普通的对象。
所有引用对象的隐式原型(_proto_)指向其构造函数的显式原型(prototype).
!原型链规则,当我们去获取一个对象的属性时,如过从其已有的属性中找不到,则会从其隐式原型链中寻找(依次向其祖先链中寻找)
instansof用于判断对象属于哪个构造函数的实例的方法
例如 a = {},a其实是Object的一个实例,所以a instansof Object ===true;
instansof 的判断逻辑: