为什么Firefox在这个javascript for循环中抱怨分号?

时间:2016-08-26 21:25:00

标签: javascript firefox

所以我有一个带有for循环的真正基本功能。它在现代Chrome和Firefox浏览器上运行良好,但在特别挑剔的Firefox 38浏览器上却没有。根据{{​​3}},自Firefox 13以来一直支持此功能。

function showhide_class(cl) {
  var es = document.getElementsByClassName(cl);
  for(let e of es) {
  e.style.display = (e.style.display == "block") ? "none" : "block";
  }
}

Firefox报告的确切错误是:

SyntaxError: missing ; after for-loop initializer

那么,为什么要报告这个错误,你知道一个解决方法吗?非常感谢。

1 个答案:

答案 0 :(得分:6)

let语句是问题所在。请改用for (var e of es)

根据MDN的说法,在版本44之前,let声明在Firefox中没有获得支持。

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/let