【问题标题】:IE11 Javascript: let [array] of object.entries "SCRIPT1010: Expected identifier" errorIE11 Javascript: let [array] of object.entries "SCRIPT1010: Expected identifier" 错误
【发布时间】:2020-02-13 07:58:59
【问题描述】:

在这段代码中,我在 IE11 的第一行发现了“SCRIPT1010: Expected Identifier”错误。这在所有其他主流浏览器中都能完美运行。

for (let [key, value] of Object.entries(CompanySettings)) {
 if (value == true) {    
   document.getElementById(key).removeAttribute("checked");
 }
 if (value == false) {
  document.getElementById(key).setAttribute("checked", "no");
 }
}

我假设这是因为它是 IE 中不可用的 ES6 功能,但我想知道是否有一个普通的旧 JS 替代品可以用于在 IE11 中工作的let.. of..。我对添加一个额外的库只是为了让这个块运行并不感兴趣。

【问题讨论】:

标签: javascript arrays for-loop internet-explorer


【解决方案1】:

您可以使用 for ... in statement 并迭代密钥。

for (var key in CompanySettings) {
    if (CompanySettings[key]) { // assuming true or false values
        document.getElementById(key).removeAttribute("checked");
    } else {
        document.getElementById(key).setAttribute("checked", "no");
    }
}

也许您需要再次检查非自己的属性

for (var key in CompanySettings) {
    if (!CompanySettings.hasOwnProperty(key)) continue;
    if (CompanySettings[key]) { // assuming true or false values
        document.getElementById(key).removeAttribute("checked");
    } else {
        document.getElementById(key).setAttribute("checked", "no");
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-11-29
    • 2015-11-20
    • 2022-11-20
    • 1970-01-01
    • 1970-01-01
    • 2019-11-28
    • 2022-12-01
    • 2021-11-15
    相关资源
    最近更新 更多