什么是原型链 ?
每个构造函数都有原型对象,每个对象都有构造函数,每个构造函数的原型对象都是对象,然后就形成了一个链式结构,我们称之为原型链
原型继承是什么 ?
通过修改原型链的结构,实现继承的方式
function MyArray() {
}
MyArray.prototype = new Array();//替换原型对象,使得MyArray继承了Array
var arr = new MyArray();
arr.push(1, 2, 3);//原型的push方法
console.log(arr);
console.log(arr.__proto__);
Object.prototype的成员
1.constructor属性,获取和原型对象相关联的构造函数 2、hasOwnProperty方法,判断对象本身是否拥有某个属性,对象.hasOwnProperty(属性) 3、isPrototypeof方法,判断对象1是不是对象2的原型 对象1.isPrototype(对象2) 4、propertyIsEnumerable方法 (1)、判断属性是否属于对象本身,并且 ( 2)、判断属性是否可以被遍历到 5、toString toLocaleString方法 转换成字符串 toLocaleString是将对象转换成本地格式的字符串 6、valueof方法 在参与运算的时候会首先调用对象的valueof方法,如果获取的值不能参与运算,就会调用toString方法 7、__proto__属性:执行当前对象的原型对象