0

すべての配列ではなく、1 つのオブジェクトだけである特定の配列のメソッドをオーバーライドする必要があり、通常の配列と同じように機能する必要があります。

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 に答える