码迷,mamicode.com
首页 > 其他好文 > 详细

es系列

时间:2018-10-14 20:54:16      阅读:152      评论:0      收藏:0      [点我收藏+]

标签:cti   div   span   fine   value   esc   prot   返回   win   

重要版本

 - es5 : 09年发布
 - es6 : 15年发布, ECMA2015
 - es7 : 16年发布, ECMA2016 (微变)

ES5部分新增内容

严格模式
    - use strict声明
    - 必须用var定义变量
    - 禁止自定义函数this指向window
    - eval创建自己的作用域,避免函数不安全
    - 对象不允许有重名的属性
JSON对象
    - JSON.stringify(obj/arr) //对象(数组)变字符
    - JSON.parse(json)        //字符变对象(数组)

Object扩展

Object常用的两个静态方法:
    - Object.create(prototype,[descriptors])
        - 以对象为原型对象创建新对象,并扩展可以描述的属性
            - value: 指定值
            - writable: false //是否可修改
            - configurable: false //是否可删
            - enumerable: false //是否可列举
    - Object.defineProperties(Object,descriptors)
        - 指定对象扩展多个属性
            - get //获取这个属性时惰性建立属性值
            - set //修改这个属性时触发的函数(外部修改无效)
对象本身的两个方法:
    - get propertyName(){} //获取propertyName时惰性建立属性值
    - set propertyName(data){} //修改时触发的函数(外部修改无效)

Array扩展

Array.prototype.indexOf(value)
Array.prototype.lastIndexOf(value)
Array.prototype.forEach(function(item,index){}) //同步遍历
Array.prototype.map(function(item,index){})
Array.prototype.filter(function(item,index){})

Function扩展

    -bind //改变返回
    -call apply//改变执行(js)

ES6部分新增内容

let和const

- let
        - 块级作用域有效
        - 不可重复定义
        - 不会变量提升
        - 特别地,循环定义时let仅第一次有效,不同于var为全局变量
    - const
        - 定义常量
        - 其余同let

 解构赋值

    - 对象或数组

模板字符串

    - `${}`

对象简写方法

    - 变量key value同名
    - 函数func(){}

箭头函数

    - 官方:箭头函数无自己的this(所以按照闭包原理:this不是在调用的时候决定的,而是在定义的时候所处的对象就是this)
    - 有外层函数就是外层函数的this,无直到最外层则为window

 

es系列

标签:cti   div   span   fine   value   esc   prot   返回   win   

原文地址:https://www.cnblogs.com/liqunblog/p/9787455.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!