作用域和自由变量
- 全局作用域
- 块级作用域
- 函数作用域
自由变量
- 一个变量在当前作用域没有定义,但是被使用
- 向上一级作用域一层层依次寻找,直至找到为止
- 直到全局作用域都没找到,则报错xx is not defined
this(在函数执行时定义)
作为普通函数
function fn1(){ |
使用call apply bind
fn1.call({x: 100}) //{x: 100} |
作为对象方法被调用
- 返回对象本身
在class方法中被调用
- 返回实例本身
箭头函数
const zhangsan = { |
手写bind
bind作用
function fn1(a, b, c) { |
手写
Function.prototype.bindHand = function(){ |