转发自http://www.comsharp.com/GetKnowledge/zh-CN/It_News_K875.aspx
ECMA 本周推出了 JavaScript 5(PDF
),除了增强基础函数库之外,还引入了严格运行时模式(Strict Runtime Modes)以避免代码中的常见错误。ECMA ECMAScript 4
的努力曾以失败告终,ECMA 甚至没有发布 ECMAScript 4 细则。
过去几年,诸如 Nitro
,TraceMonkey
一类的 JavaScript 引擎发展迅猛,JavaScript 成了 Google Wave
一类应用的新宠。鉴于此,ECMAScript 5 在兼容目前广泛使用的 ECMAScript 3 的同时,提供了严格模式,以防止开发者犯错。
严格模式
严格模式可用以下语句声明:
"use strict;"
该语句对以往的代码没有影响,但 JavaScript 5 的新运行时会进入严格模式,严格模式主要包含以下改变:
- 变量必须声明后才可以使用
- Eval 成为保留词,同时,不可以再使用 Eval 声明变量,如
eval("var i=3"); print(i); 之类的语句会报错
- 8进制数字表示被禁止,
010
代表 10 而不是 8
- 参数中不再允许使用 delete
- with 语句曾是万错之源,现被禁用。
- 函数中不可以再出现重名参数。
- 对象中不可以再出现重名属性。
-
arguments
和 caller
变量现在是 immutable 变量
- 访问全局对象会报错。
函数扩展
在基本函数库,也有一些变化:
- Date 现在支持 ISO8601 日期格式
- String 内置了 trim() 方法
- 引入备受欢迎的 JSON
对象
- 内置了 bind 操作
- Array 对象内置了一些标准函数,如 indexOf(), map(), filter(), reduce()
- Object 内置了
seal()
函数,防止被加入新属性,同时内置 freeze() 函数使对象变成只读状态
-
Object.keys()
会列出对象中所有可以枚举的属性
-
Object.getOwnPropertyNames()
会列出对象中所有可枚举以及不可枚举的属性
-
Object.getPrototypeof()
返回给定对象的原型
编译
刘清涛(35公里),CSDN特约记者,Web开发与设计师,COMSHARP CMS
开发成员,热衷 Web 技术,长期译介海外最新 Web 相关的技术文章与资讯,在 CSDN 开有专家博客
。
分享到:
相关推荐
ECMA-262-5.1中文版,用于javascript编程
JavaScript ECMA262v5,是一本介绍Javascript规范类的书籍,不适合通读,但是适合做工具类书籍,但本书是英文书籍,看起来有点难度!
中文英文文档 js标准 一锅端 要找的就下吧
ECMA-262, 2nd edition, August 1998.pdf ECMA-262, 3rd edition, December 1999.pdf ECMA-262. 5rd edition, December 2009.pdf 三个标准的合集,
ECMA-335 ECMA-335
JavaScript_ECMA5数组新特性详解_.docx
Ecma标准Ecma-262.pdf
Ecma-262是关于javascipt标准的重要文档,对于学习javascipt起很大帮助
ECMA-262官方规范,javascript开发的标准参考
studyonECMA6 研究ECMA6 javascript的示例项目
to learn the newest javascript
电信标准机构ECMA国际-ECO声明-ECMA370电信标准机构ECMA国际-ECO声明-ECMA370电信标准机构ECMA国际-ECO声明-ECMA370电信标准机构ECMA国际-ECO声明-ECMA370电信标准机构ECMA国际-ECO声明-ECMA370电信标准机构ECMA国际...
ECMA JSON 标准
ECMA-附录1
ecma262的pdf文档,对于想在javascript方面的深入研究的人有益,只是玩玩的人,就没必要看了吧
C#语言规范(C# Language Specification)第五版,ECMA-334 5th Edition
JavaScript 5手册中文版教程(CHM版) JScript 是 Microsoft 公司对 ECMA 262 语言规范的一种实现。JScript 完全实现了该语言规范,并且提供了一些利用 Microsoft Internet Explorer 的功能的增强特性。本教程的目的...
Author David Herman, with his years of experience on Ecma’s JavaScript standardization committee, illuminates the language’s inner workings as never before—helping you take full advantage of ...
ECMA官方文档-英文版 https://www.ecma-international.org/ecma-262 https://www.ecma-international.org/ecma-262/8.0/index.html
ECMA-262标准官方文档