首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >对JavaScript 1.7的新特性的跨浏览器支持是什么?具体地说是数组理解和"let“语句

对JavaScript 1.7的新特性的跨浏览器支持是什么?具体地说是数组理解和"let“语句
EN

Stack Overflow用户
提问于 2009-08-25 19:41:34
回答 3查看 7.1K关注 0票数 16

https://developer.mozilla.org/en/New_in_JavaScript_1.7

这些新功能中的很多都是从Python中借用的,可以创建更少冗长的应用程序,这总是一件好事。你输入了多少次?

代码语言:javascript
复制
for (i = 0; i < arr.length; i++) {
    /* ... */
}

对于真正简单的操作?这不是更简单了吗:

代码语言:javascript
复制
[/* ... */ for each (i in arr)]

我认为简洁是一件很棒的事情。不过,归根结底,这一切都归结于IE。

IE是否支持这些新功能?其他浏览器呢?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2009-08-25 19:54:29

不,当他们说"JavaScript“时,他们指的是字面意思: Gecko使用的ECMAScript引擎。JScript和其他引擎不支持这些功能。

编辑:根据wikipedia的说法,JavaScript 1.7实现了ECMAScript“第三版加上所有的JavaScript 1.6增强,加上Pythonic生成器和数组理解(a*a表示(在iter中是a)),块作用域with let,解构赋值(var a,b=1,2)”。所以这些特性不是ECMAScript的一部分。

票数 8
EN

Stack Overflow用户

发布于 2010-02-06 03:20:41

虽然这个问题有点陈旧,并被标记为“已回答”--但我在谷歌上找到了它,给出的答案可能不准确,如果不准确,肯定不完整。

值得注意的是,Javascript不是一个标准。Ken正确地提到了ECMAScript是所有浏览器都要遵守的跨浏览器标准,但他没有澄清的是,Javascript不是ECMAScript。

可以说Javascript“实现”了ECMAScript,这意味着Javascript包含了ECMAScript,以及它自己专有的额外的非跨浏览器特性。nicholas给出的for each示例是Mozilla添加的专有特性的一个示例,该特性没有任何标准,因此不太可能被任何其他浏览器采用。

JavaScript1.7和1.8特性对于XUL中的扩展开发很有用,但绝不能用于跨浏览器开发--这就是标准的用途。

票数 33
EN

Stack Overflow用户

发布于 2009-10-19 12:40:29

除了IE不支持它之外,似乎基于webkit的浏览器(Safari,Chrome),尽管声称支持JS1.7(实际上正在执行JS1.7中声明的脚本标签),但实际上并不支持这些功能中的任何一个,这意味着目前,JS1.7及其非常好的功能仅限于Geko浏览器。

由于Webkit仍然只执行标记为1.7的脚本,这也意味着我们甚至不能优雅地失败,但当我们使用任何新的关键字或语法时,我们只会在这些浏览器上产生语法错误。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1330498

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档