繁体   English   中英

Javascript严格模式和版本

[英]Javascript strict mode and versions

我想在我的代码中使用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给我错误:

语法错误:let是保留的标识符

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

除非您正在使用代码转换器/编译器将js转换为当前广泛支持的代码,否则请避免使用let

让我们成为ECMA-262的标准,但是要有足够多的访问者本地支持它才能使用它还需要几年的时间。

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

  1. 铬41+
  2. 壁虎2.0
  3. IE11
  4. 歌剧17+
  5. 苹果浏览器 ??

上面的浏览器此时可能实现不一致,因此最好避免这种情况。

babel进行转换。

Firefox不支持ES2015(ES6)中定义的Let。 它具有let的旧版本,它是非标准的,并且工作方式略有不同。

当前在所有浏览器中支持它的方法是使用像BabelJS这样的编译器

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM