1. 箭头函数

函数的简写方式

() => {}

只有一个参数时,可以省略() ---- x => {}

只有一条语句时,可以省略{},此时这点语句的结果会作为函数的返回值返回  () => console.log('hello');

特点:

箭头函数没有自己的 this,与离他最近的一层包裹它的函数的 this 一致,如果没有函数就指向 window

箭头函数没有 prototype 属性,有 __proto__ 属性

箭头函数不能 new 调用

箭头函数不能强制修改 this 指向

2. 谈谈 this

foo()  window

obj.foo()  obj

foo.call(obj)  obj

new foo()  实例对象

箭头函数的 this 与离他最近的一层包裹它的函数的 this 一致,如果没有函数就指向 window

DOM事件  dom元素

定时器   window

3. promise

解决异步编程的一个方案/技术

解决异步编程,以同步的方式表达异步的代码, 从而解决回调地狱的问题

promise 对象有 3 种状态

初始化状态(默认情况下) pending 准备

成功的状态 (一旦变成成功的状态就会立即触发成功的回调)  fullfilled

失败的状态 (一旦变成失败的状态就会立即触发失败的回调)  rejected

使用:

new Promise((resolve, reject) => {异步代码})

Promise.resolve/reject()

Promise.all([promise1, promise2...])

promsie.then(捕获成功的状态,执行成功的回调函数).catch(捕获失败的状态,执行失败的回调函数)

4. async 函数修饰关键字

用来定义函数,真正解决回调地狱的问题,异步编程的最终解决方案

await Promise对象;

只能在 async 函数中使用

后面必须跟着 promise 对象,async 函数返回值也是pormise对象

当 promise 对象状态是初始化状态,await 会等待,直到变成成功/失败才会接着运行

await等待promise对象变成成功时,会将其返回值返回到左边去,可被变量接收

5. ES6 其他常用的语法

解构赋值

形参默认值

模板字符串 `${js 代码将被执行}`

简化对象的写法

三点运算符

Symbol 新的数据类型

iterator 新的接口,提供统一的遍历方法 for of

5. 箭头函数_this 指向_es6 常用语法的更多相关文章

  1. ES6 箭头函数 this 指向

    ES6 箭头函数 this 指向 箭头函数有几个使用注意点: 函数体内的this对象,就是定义时所在的对象,而不是使用时所在的对象. 不可以当作构造函数,也就是说,不可以使用new命令,否则会抛出一个 ...

  2. 箭头函数this指向问题

    this指向本质 箭头函数this指向的固定化,并不是因为箭头函数内部有绑定this的机制,实际原因是箭头函数根本没有自己的this,导致内部的this就是外层代码块的this.正是因为它没有this ...

  3. ES6 箭头函数this指向问题

    var name = "window"; var person1 = { name: "person1", show1: function() { consol ...

  4. es6箭头函数 this 指向问题

    es5中 this 的指向 var factory = function(){ this.a = 'a'; this.b = 'b'; this.c = { a:'a+', b:function(){ ...

  5. ES6 箭头函数this指向

    箭头函数有几个使用注意点. (1)函数体内的this对象,就是定义时所在的对象,而不是使用时所在的对象. (2)不可以当作构造函数,也就是说,不可以使用new命令,否则会抛出一个错误. (3)不可以使 ...

  6. typescript 属性默认值使用箭头函数 this指向问题

    今天注意到前端小伙伴用react 定义component class的方法的时候是通过箭头函数的方式,表示好奇. class Test extends React.Component { public ...

  7. ES6箭头函数this指向

    普通函数中的this: 1. this总是代表它的直接调用者(js的this是执行上下文), 例如 obj.func ,那么func中的this就是obj 2.在默认情况(非严格模式下,未使用 'us ...

  8. 箭头函数中可改变this作用域,回调函数用箭头函数this指向page,自定义事件用箭头函数this指向undefined

    1.回调函数中,用箭头函数改变this的作用域 success: (res)=>{ this.setData({ //此时,this指向page页面 ... }) } 2.自定义事件中,如果使用 ...

  9. js中箭头函数 及 针对箭头函数this指向问题引出的单体模式

    ES6允许使用“箭头”(=>)定义函数 var f = a = > a //等同于 var f = function(a){ return a; } 如果箭头函数不需要参数或需要多个参数, ...

随机推荐

  1. 搞数学的牛群[主要PDE的]

  2. luogu 4042 有后效性的dp

    存在有后效性的dp,但转移方程 f[i] = min( f[i], s[i] + sigma f[j] ( j 是后效点) ) 每次建当前点和 转移点的边 e1, 某点和其会影响的点 e2 spfa ...

  3. DUMP4 企业级电商项目 —— 对接支付宝扫码支付

    延展 <谈谈微信支付曝出的漏洞> [联调 DEMO下载地址]https://docs.open.alipay.com/194/105201/ [内置 一份 说明文档可做参考] [impor ...

  4. React Router v4 页面传值的三种方法

    传值方法 1.props.params 使用React router定义路由时,我们可以给指定一个path,然后指定通配符可以携带参数到指定的path: <Route path='/user/: ...

  5. Oracle 关键字、高级函数的使用

    1.序列.唯一标识 查询时,可以添加递增序列 rownum 表的数据每一行都有一个唯一的标识 rowid 2.函数 单行:查询多条数据 如:to_date() 多行:查询总结数据,一般用于group ...

  6. python celery任务分发

    <div id="cnblogs_post_body" class="blogpost-body"><p>Celery是由Python开 ...

  7. 3D Slicer中文教程(四)—图像分割

    1.数据获取 (1)下载3D Slicer自带的样本数据 (2)选择自由的数据 (3)网上数据库等其他方式下载数据 2.分割工具 Segment Editor是一个用于分割的模块.细分(也称为轮廓)描 ...

  8. Max Area of Island

    Given a non-empty 2D array grid of 0's and 1's, an island is a group of 1's (representing land) conn ...

  9. C#基础之Assembly

    一直以来,我们都在用C#编写程序,编写程序的时候,我们用到继承.多态.接口以及泛型,我们也都明白子类可以继承抽象类,并能够重写父类的抽象方法,可是大家是否想过,如下几个问题: 1.凡树必有根和叶,类的 ...

  10. Lua中的环境概念

    [前言] Lua将其所有的全局变量保存在一个常规的table中,这个table称为“环境”.这种组织结构的优点在于,其一,不需要再为全局变量创造一种新的数据结构,因此简化了Lua的内部实现:另一个优点 ...