JavaScript覆盖数组方法

时间:2014-09-09 01:51:55

标签: javascript arrays replace

我有一大堆JavaScript。

出于某种原因,在特定情况下,我收到了错误:

"Object [object Array] has no method 'replace'"

现在我不能为我的生活找到它的位置,所以我决定我实际上为这种类型创建一个特殊的.replace()方法,这样我就可以找到什么叫它来帮助我找到解决问题的地方。如果你愿意,可以问这个方法,但代码很大,这样可以节省我的时间。

我无法弄清楚如何创建该方法,这是我的尝试:

Array.prototype.replace = (function(a, b) {
    console.log('Oh boy Im being called by:');
    console.log(typeof(a) !== 'undefined' ? a : '');
    console.log(typeof(b) !== 'undefined' ? b : '');
    return;
})();

1 个答案:

答案 0 :(得分:0)

你可能想要

Array.prototype.replace = function(a, b) {
   console.log('Oh boy Im being called by:');
   console.log(typeof(a) !== 'undefined' ? a : '');
   console.log(typeof(b) !== 'undefined' ? b : '');
   return;
};

问题中发布的代码会立即执行replace函数,而不是将其锚定在原型中。