哪些浏览器目前支持JavaScript的“let”关键字?
我正在开发一个应用程序,不必担心Internet Explorer,并且正在研究A +级别浏览器中不在Internet Explorer1中的一些功能。
我想玩的这些功能之一是JavaScript的let关键字
我似乎无法让他们的任何'let'例子在Firefox 3.6中工作(用户代理字符串:Mozilla / 5.0(Windows; U; Windows NT 5.1; en-US; rv:1.9.2)Gecko / 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)均提供完全支持。
截至2017年4月:
所有最新的主流浏览器,如Chrome,Firefox和Edge都支持ES2015(又名“ES6”) let
关键字。
iOS的Safari浏览器不支持let
,直到10 OS(例如,OS 9没有)。
一些较旧的浏览器(例如IE9-IE11)支持let
的早期版本,但不支持ES2015定义的语义(特别是与for
循环头文件中的声明for
)。 所以这不是一个语法错误,它确实声明了这个变量,但它并不按照它应该的方式工作。 例如,在正确的实现中,以下日志0,1和2; 在IE9-IE11上,它记录了3,3,3:
for (let i = 0; i < 3; ++i) {
setTimeout(function() {
console.log(i);
}, i * 100);
}
链接地址: http://www.djcxy.com/p/1493.html
上一篇: What browsers currently support JavaScript's 'let' keyword?