ECMA 5 推出 引入了严格运行时模式

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 开有专家博客。 

转自:http://news.csdn.net/a/20091213/215752.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值