首页 > 其他 > 详细

ES5_6_7(2)——ES6

时间:2017-01-07 14:11:31      阅读:273      评论:0      收藏:0      [点我收藏+]

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,并将函数返回。


ES5_6_7(2)——ES6

原文:http://pkbai.blog.51cto.com/9086550/1889948

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!