`__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