ES5_6_7(2)――ES6

2017-01-07 19:05:42来源:作者:人点击

1. ECMA6

ECMA5的兼容性对于各个常用浏览器都是兼容的,除了最恶心的IE浏览器。IE8: 只支持defineProperty,getOwnPropertyDescriptor部分特性及JSON新特性IE9: 不支持严格模式,其余都可以IE10:IE10和其它主流浏览器均支持总结:PC端开发需要注意IE9以下的兼容,但移动端开发时不需要

1.1 严格模式(strict mode)

顾名思义 :使得 JavaScript 在更严格的语法条件下运行。目的/作用:
消除JavaScript语法的一些不合理、不严谨之处,减少怪异行为消除代码运行的一些不安全之处,保证代码运行的安全为未来新版本 JavaScript 做好铺垫
使用:在全局或函数的第一条语句定义为 'use strict'; 如果浏览器不支持,只简析为一条简单的语句,没有任何副作语法和行为改变:1. 变量的生命必须使用 var 关键字2. 创建 eval 函数作用域3. 禁止 this 执行 window 对象4. 对象不能用重复属性
5. 函数不能有重名的形参

1.2 JSON对象扩展

JSON对象:JSON对象或数组是一个字符串,console.info(json)会打印出字符串JS对象:JS对象是Object或Array,console.info(obj/arr)会打印出 > Object/Array[]JSON对象:
JSON.stringify(obj/arr): js对象(或数组)转换为json对象(或数组)JSON.parse(json): json对象(或数组)转换为js对象(或数组)

1.3 Object对象扩展

ES5给Object扩展了好几个方一些静态方法,举例两个:Object.create(prototype[, descriptors]):创建一个新对象
1. 以指定对象为原型创建新的对象2. 指定新的属性,并对属性进行描述 value: 指定值 writable: 标识当前属性是否可修改,默认 true set: 监视设置当前属性值变化的回调 get: 监视获取当前属性值的回调Object.defineProperty(object, descriptors):为指定对象定义扩展多个属性

1.4 Array对象扩展

ES5给Array扩展了好几个常用又便捷的方法,常用的有5个:

1.5 函数扩展

Function.prototype.bind(obj): 将函数内的 this 绑定为 obj,并将函数返回。

最新文章

123

最新摄影

微信扫一扫

第七城市微信公众平台