Coffeescript 咖啡脚本中的循环?

Coffeescript 咖啡脚本中的循环?,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

我正在将一段代码从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
我不知道如何处理它,在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];
  }
}