课程名称:破解JavaScript高级玩法
课程章节:第6章 从函数到函数式编程之路
主讲老师:Cloud
课程内容:
今天学习的内容包括:
6-3 函数的this之全解析——this应用场景和差异。
课程收获:
this是什么
- 执行上下文( global、function或eval )的一个属性
- 在非严格模式下,总是指向一个对象
- 在严格模式下可以是任意值
this绑定规则
- 默认绑定
- 隐式绑定
- 显示绑定
- new
- 箭头函数
默认绑定:非严格模式
- 浏览器: this指向window
- nodejs : this指向global对象
默认绑定:严格模式
- 浏览器: undefined
- nodejs : undefined
一些神秘隐式绑定
- EventTagert , FileReader等等
显示绑定
- 显示表达谁该是this
– Function.prototype.call
– Function.prototype.apply
– Function.prototype.bind
– 属性绑定符
new
- 实例化一个函数或者ES6的class
- 对于Function, return会影响返回值
new return
- return非对象,实际返回系统内部的对象
- return 对象,实际返回该对象
new 解密
- 创建一个空对象
- 设置空对象的原型
- 执行构造函数方法,把相关的属性和方法添加对象上
- 返回对象。如果构造函数返回的值是对象类型,就直接返回该对象,反之返回第一步创建的对象。
箭头函数
- 简单
- 没有自己的this, arguments, super,new.target
- 适合需要匿名函数的地方
- 不能用于构造函数
锁定this的方法
- bind
- 箭头函数
今天 学习了 this的各种解析,知识点都是很不错的,一个this竟然有这么多的使用场景和差异,感觉前面学的我都忘记了。对自己说一句,加油😀~
坚持打卡,坚持学习!明天见💪~