【发布时间】:2012-09-04 23:18:50
【问题描述】:
在 Ruby 中,您可以这样做:
3.times { print "Ho! " } # => Ho! Ho! Ho!
我尝试在 JavaScript 中做到这一点:
Number.prototype.times = function(fn) {
for (var i = 0; i < this; i++) {
fn();
}
}
这行得通:
(3).times(function() { console.log("hi"); });
这不是
3.times(function() { console.log("hi"); });
Chrome 给我一个语法错误:“Unexpected token ILLEGAL”。为什么?
【问题讨论】:
-
... 因为 JavaScript 不是 Ruby?这就像在问“为什么 cobol 不像 Ruby 那样工作?”。
-
@Incognito 嗯,不是吗?我在问为什么这是一个语法错误,而不是为什么它不像 ruby 那样工作......
-
您能解释一下最初谈论 ruby 背后的理性并保持与该陈述的一致性吗?
-
@Incognito 我想重新创建那个方法,所以我只是提到了我想要实现的目标。
-
@Incognito 显然 Ruby 在 JS 问题中提出来是一件坏事,所以我不会再为此烦恼了......
标签: javascript