哪些浏览器目前支持JavaScript的“let”关键字?
我正在开发一个应用程序,不必担心Internet Explorer,并且正在研究A +级浏览器中不在Internet Explorer1中的一些function。
我想要玩的这些function之一就是JavaScript的let关键字
我似乎无法得到他们的任何'让'例子工作在Firefox 3.6( 用户代理string:Mozilla的/ 5.0的(Windows; U; Windows NT 5.1的;美国; RV:1.9.2)壁虎/ 20100115 Firefox / 3.6(.NET CLR 3.5.30729))。 我得到SyntaxError: missing ; before statement
SyntaxError: missing ; before statement
执行let foo = "bar"
SyntaxError: missing ; before statement
。
那么,哪些浏览器支持let关键字呢? (或者我做错了什么?)
这些扩展不是ECMA-Standard,它们仅受Mozilla实施支持。
在浏览器环境中,您应该在script
标记中包含JavaScript 版本号以使用它:
<script type="application/javascript;version=1.7"> var x = 5; var y = 0; let (x = x+10, y = 12) { alert(x+y + "\n"); } alert((x + y) + "\n"); </script>
Internet Explorer≥11(仅for
作用域)完全支持并且在所有当前浏览器( ECMAScript 6兼容性表:let )中完全支持。
Internet Explorer和Opera不支持任何浏览器版本,2.0版本以后的Firefox和3.2以后的Safari。
请参阅Wikipedia上的JavaScript版本表 。
我刚发现你需要定义你是否使用JavaScript 1.7。 所以你的代码将是:
<script type="application/javascript;version=1.7"> ... </script>
截至2017年4月,所有最新的主stream浏览器,如Chrome,Firefox和Edge都支持ES2015(又名“ES6”)。
iOS OS不支持,直到OS 10(例如,OS 9没有)。
一些较旧的浏览器(如IE9-IE11)支持let
的早期版本,但不支持ES2015定义的语义(特别是与for
循环头文件中的声明for
)。
过时的浏览器如IE8根本不支持它。
显然, 边缘模式下的Internet Explorer 10支持let
,per JavaScript Version Information 。
只是一个更新:Chrome现在支持let
但只有当你声明"use strict"
; 指示。
从第一次提出这个问题开始就经历了很长时间:ECMAScript 2015(ES6)中引入了“let”和“const”关键字。 在这个令人敬畏的ES6兼容性表中search'let'或'const': https ://kangax.github.io/compat-table/es6/