我正在玩弄数字对象,我想出了这个代码(我知道这不是一个好习惯):
Number.prototype.times = function (evalString) {
for (let i = 0; i < this; i++) {
eval(evalString);
}
}
//var someVar= 3;
(8).times("alert('kek')");
并且它似乎仅在someVar变量未被注释掉时才起作用,否则它会在标题中抛出错误。
导致此行为的原因是什么?
答案 0 :(得分:8)
在函数表达式((...)
)之后立即放置function (evalString) { … }
将使用您指定的参数调用函数。
这就是为什么不建议使用自动分号插入的原因。始终使用;
结束语句。