Coffeescript 咖啡脚本中的循环?
我正在将一段代码从javascript翻译成coffeescriptCoffeescript 咖啡脚本中的循环?,coffeescript,Coffeescript,我正在将一段代码从javascript翻译成coffeescript for (var i = 0, len = keys.length; i < len; i++) { k = keys[i]; if (!mailOptions.hasOwnProperty(k)) mailOptions[k] = app.set('mailOptions')[k] } for(变量i=0,len=keys.length;i
for (var i = 0, len = keys.length; i < len; i++) {
k = keys[i];
if (!mailOptions.hasOwnProperty(k))
mailOptions[k] = app.set('mailOptions')[k]
}
for(变量i=0,len=keys.length;i
我不知道如何处理它,在doc网站上也不清楚,有人能给我一个明确的解释吗?多谢各位 这里有一条路(从这里开始:):
这将输出以下内容(不包括它也输出的var
):
这里有一条路(从这里开始:):
这将输出以下内容(不包括它也输出的var
):
或防护风格:
for key in keys when not mailOptions.hasOwnProperty key
mailOptions[key] = (app.set 'mailOptions')[key]
汇编至:
var key, _i, _len;
for (_i = 0, _len = keys.length; _i < _len; _i++) {
key = keys[_i];
if (!mailOptions.hasOwnProperty(key)) {
mailOptions[key] = (app.set('mailOptions'))[key];
}
}
var键,_i,_len;
对于(_i=0,_len=keys.length;_i<_len;_i++){
键=键[_i];
如果(!mailOptions.hasOwnProperty(键)){
mailpoptions[key]=(app.set('mailpoptions'))[key];
}
}
或防护风格:
for key in keys when not mailOptions.hasOwnProperty key
mailOptions[key] = (app.set 'mailOptions')[key]
汇编至:
var key, _i, _len;
for (_i = 0, _len = keys.length; _i < _len; _i++) {
key = keys[_i];
if (!mailOptions.hasOwnProperty(key)) {
mailOptions[key] = (app.set('mailOptions'))[key];
}
}
var键,_i,_len;
对于(_i=0,_len=keys.length;_i<_len;_i++){
键=键[_i];
如果(!mailOptions.hasOwnProperty(键)){
mailpoptions[key]=(app.set('mailpoptions'))[key];
}
}
小心使用hasOwnProperty
;如果碰巧有一个名为“hasOwnProperty”的邮件选项,它将失败。要正确处理这种情况,请使用Object.prototype.hasOwnProperty.call(mailpoptions,k)
(或在CoffeeScript中使用Object::hasOwnProperty.call mailpoptions,k
)。小心使用hasOwnProperty
;如果碰巧有一个名为“hasOwnProperty”的邮件选项,它将失败。要正确处理这种情况,请使用Object.prototype.hasOwnProperty.call(mailpoptions,k)
(或在CoffeeScript中使用Object::hasOwnProperty.call mailpoptions,k
)。此处最好使用防护样式(imo)。值得一提的是,(app.set'mailpoptions')[key]
通常被写成app.set('mailpoptions')[key]
,当然lispy样式是完全有效的。在这里,最好使用guard样式(imo)。值得一提的是,(app.set'mailpoptions')[key]
通常被写成app.set('mailpoptions')[key]
,当然lispy样式是完全有效的。
for key in keys
if not mailOptions.hasOwnProperty key
mailOptions[key] = (app.set 'mailOptions')[key]
for key in keys when not mailOptions.hasOwnProperty key
mailOptions[key] = (app.set 'mailOptions')[key]
var key, _i, _len;
for (_i = 0, _len = keys.length; _i < _len; _i++) {
key = keys[_i];
if (!mailOptions.hasOwnProperty(key)) {
mailOptions[key] = (app.set('mailOptions'))[key];
}
}