我需要覆盖特定数组的方法,而不是每个数组,只需要一个对象,它需要像普通数组一样工作,如下所示:
var arr1 = [];
var arr2 = [];
overrideThatWay(arr1);
arr1.push(2); //invoke overrided method
arr2.push(2); //invoke regular method
for(var a1 in arr1){
//act like an array, dont list the overrided methods
}
答案 0 :(得分:1)
arr1.push = function (item) {
// "overloaded" function
}
答案 1 :(得分:0)
Object.defineProperty(arr1, "push", {
enumerable: false
, configurable: true
, writable: false
, value: function(prop) {
//do something
}
});