TypeError :(中间值)(...)未定义

时间:2016-03-29 07:46:39

标签: javascript

我正在玩弄数字对象,我想出了这个代码(我知道这不是一个好习惯):

Number.prototype.times = function (evalString) {
  for (let i = 0; i < this; i++) {
    eval(evalString);
  }
}
//var someVar= 3;
(8).times("alert('kek')");

并且它似乎仅在someVar变量未被注释掉时才起作用,否则它会在标题中抛出错误。

导致此行为的原因是什么?

1 个答案:

答案 0 :(得分:8)

在函数表达式((...))之后立即放置function (evalString) { … }使用您指定的参数调用函数。

这就是为什么不建议使用自动分号插入的原因。始终使用;结束语句。