Javascript 严格模式和版本

标签 javascript

我想在我的代码中使用let。就像这样:

"use strict";

var b = 5;
for(let i =0;b > i; i++){
    alert(i);
}

这适用于 Chrome 和 IE。但在 Firefox 中则不然。

将我的代码包装在脚本标记中,并将 type 属性设置为“application/javascript;version=1.7”,如下所示:

<script type="application/javascript;version=1.7">

这解决了 Firefox 中的问题,但破坏了 Chrome 和 IE 中的代码。 当我执行第一个代码片段时,Firefox 给出的错误是:

SyntaxError: let is a reserved identifier

有什么办法可以支持所有浏览器吗?

最佳答案

避免使用 let ,除非您使用转码器/转译器将 js 转换为当前广泛支持的代码。

Let 成为 ECMA-262 中的标准,但要获得足够多的访问者本地支持并使用它还需要几年的时间。

以下内容对let有基本支持,以下所有内容都会中断:

  1. Chrome 41+
  2. 壁虎2.0
  3. IE11
  4. 歌剧 17+
  5. Safari ??

上述浏览器此时可能具有不一致的实现,因此最好避免它。

查看babel来转变。

关于Javascript 严格模式和版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31114396/

相关文章:

javascript - 访问复杂的 javascript 对象属性,

javascript - 如何更改 JavaScript 中的 "this"指针?

javascript - UglifyJS2 是否支持 base64 编码的源映射?

Javascript LocalStorage Null 错误

javascript - 如何制作粘性顶部导航栏

javascript - '$root' 上的未捕获引用

javascript - 带有 CommonsChunkPlugin 的 Webpack 结果在 html 文件中的捆绑顺序错误

javascript - Websocket 未向所有客户端发送数据

javascript - Google 折线图 x 轴格式

javascript - AngularJS 中的 href 和 ng-click