0

我需要覆盖特定数组的方法,而不是每个数组,只是一个对象,它需要像普通数组一样工作,如下所示:

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
}
4

2 回答 2

1
arr1.push = function (item) {
// "overloaded" function
}
于 2012-06-11T17:27:23.583 回答
0

也许是这样,但我不知道其中的含义:

Object.defineProperty(arr1, "push", {
          enumerable: false
        , configurable: true
        , writable: false
        , value: function(prop) {
                    //do something
                }

});
于 2012-06-11T17:34:03.727 回答