原型链知识点补充
`__proto__`是可修改的,__proto__
就是一个基本的js对象,根据js无底线的语法规则,它是完全可以被修改或者重写的。
一、默认情况下:
二、修改__proto__
的例子。
修改了之后,arr
不仅有内置的concat
、push
等功能,还多了一个addClass
功能。
var arr = [1,2,3];
arr.__proto__.addClass = function () {
console.log(123);
}
arr.push(4);
arr.addClass(); // 123
三、完全重写 __proto__
的例子
还是注意,重写__proto__
之后,arr
可就失去了concat
、push
等亲人了,只有一个addClass
功能了。
var arr = [1,2,3];
arr.__proto__ = {
addClass: function () {
console.log(123);
}
};
arr.addClass(); // 123