【发布时间】:2015-12-22 18:20:37
【问题描述】:
为什么要创建自定义 prototype 函数,例如:
Array.prototype.clone = function(){
return JSON.parse(JSON.stringify(this));
}
在迭代 for 循环时是否使它们可见?
很明显,我有一个 array,里面有 7 个 arrays,但由于某种原因,它正在考虑我在循环内的所有自定义函数。为什么?如何预防?
OBS:我正在申请某种 javascript 竞赛,该竞赛采用我的算法并与其他玩家比赛。此循环位于运行器内部,因此请考虑更改处理迭代的方式不是一种选择。
这破坏了跑步者,因为它试图执行一些代码,其中的列认为我的自定义函数包含在其中。
但是,查看他们的代码,我注意到可以防止这种情况发生,因为他们还编辑/创建 Array.prototype 函数。
【问题讨论】:
-
考虑使用jsfiddle.net 提供重现问题所需的最少代码。
-
@LJᛃ 我理解相似之处,但我不认为这是重复的,因为我不想更改循环(正如我在问题上所说,我不能)。我想要的是即使在这种情况下也能隐藏我的自定义函数。
-
@PatrickBard 好好检查那里的第二个答案,它与您得到的答案的第二部分相同:使您的方法不可枚举。
-
阅读object.prototype 方法。我可以告诉你是哪一个,但你必须给我奖品。
标签: javascript arrays matrix