ECMA 推出 JavaScript 5
来源:互联网 发布:c语言怎么判断素数思路 编辑:程序博客网 时间:2024/06/05 20:06
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()
返回给定对象的原型
- ECMA 推出 JavaScript 5
- ECMA 推出 JavaScript 5
- javascript ECMA特性和非ECMA特性
- ECMA-262,第 5 版 最新 JavaScript 规范
- [JavaScript]ECMA-262 深入解析
- ECMA
- JavaScript核心指南 (ECMA-262-3)
- JavaScript核心「ECMA-262-3」
- ECMA-262-5 词法环境:ECMA实现(一)--- 简介
- 基于ECMA 的JavaScript 的面向对象程序设计
- [JavaScript]ECMA-262-3 深入解析.第一章.执行上下文
- [JavaScript]ECMA-262-3 深入解析.第二章.变量对象
- [JavaScript]ECMA-262-3 深入解析.第四章.函数
- [JavaScript]ECMA-262-3 深入解析.第五章.闭包
- ECMA-262-5 词法环境:ECMA实现(二)--- 环境记录项
- ECMA-262-5 词法环境:ECMA实现(三)--- 执行上下文
- ECMA-262-5 词法环境:ECMA实现(四)--- 标识符解析及其他
- ECMA-262,第 5 版。最新 JavaScript 规范 了解 ECMAScript 规范的历史,查看它的众多重要新特性和新概念。
- [J2ME]为照相机添加图片保存功能
- 一.Command模式
- ZOJ-1285-Shipping Routes(最短路径)
- 使用QTP的.NET插件扩展技术测试ComponentOne的ToolBar控件
- “云” 随想
- ECMA 推出 JavaScript 5
- 看概论,查标准文档
- 海量数据查询优化技巧
- C#仿QQ皮肤系列之-引言
- The Differences between Little-Endian and Big-Endian
- 类库和框架区别
- 毕业后五年决定了你的一生
- BIG5编码范围
- 我也来写写数学黑洞