博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
箭头函数与this
阅读量:6276 次
发布时间:2019-06-22

本文共 577 字,大约阅读时间需要 1 分钟。

一句话概括就是:
箭头函数的this与创建时的封闭词法上下文的this保持一致。

准确一点说应该是,箭头函数没有自己的this以及arguments,所能取到的this是它被创建时的封闭词法上下文。这时候会形成一个闭包,箭头函数将其词法作用域内的this记录在scope属性上。箭头函数使用call,apply,bind传递作用域会被忽略, 但是可以用来传递参数,此时第一个参数应该设置为null。以下为实例:

const foo = ((...rest) => { console.log(this) })let foo1 = foo.bind({demo: 1}, 'demo')// windowfoo1()function Foo() {// Foo 实例  console.log(this)  this.obj = {    // window    foo: foo,    // obj    bar() { console.log(this)    },    // Foo实例    zoo: () => { console.log(this) },      callF() { this.foo(), this.bar(), this.zoo() }  }}let demo = new Foo()demo.obj.callF()

转载地址:http://qogpa.baihongyu.com/

你可能感兴趣的文章
Ucenter 会员同步登录通讯原理
查看>>
php--------获取当前时间、时间戳
查看>>
Spring MVC中文文档翻译发布
查看>>
HUE集成
查看>>
docker centos环境部署tomcat
查看>>
python多线程编程: 使用互斥锁同步线程
查看>>
ireport报表自定义字体
查看>>
人为触发jquery ajax 中error回调方法
查看>>
JavaScript 基础(九): 条件 语句
查看>>
Linux系统固定IP配置
查看>>
jQuery-强大的jQuery选择器 (详解)[转]
查看>>
配置Quartz
查看>>
Linux 线程实现机制分析
查看>>
继承自ActionBarActivity的activity的activity theme问题
查看>>
设计模式01:简单工厂模式
查看>>
多线程讲解
查看>>
项目经理笔记一
查看>>
Hibernate一对一外键双向关联
查看>>
mac pro 入手,php环境配置总结
查看>>
MyBatis-Plus | 最简单的查询操作教程(Lambda)
查看>>