1.js三种调用方法,thsi指向
1.1普通函数: 函数名() this指向window
1.1构造函数: new 函数名() this指向实例对象
1.1对象的方法: 对象.方法名() this指向对象
默认情况下 this指向时确定的 无法被修改
2.函数上下文调用:可以修改this指向
2.1函数名.call{修改的this指向,参数1,参数2,...}
2.2函数名.apply(修改的this,数组/伪数组)
2.3函数名.bind(修改的this)
*bind()不会立即执行函数,而是返回一个修改this之后的新函数
3.面试题:call-apply-bind区别.
相同点:作用一致,都是修改函数的
不同点:
1.传参方式不同:call时单个传参 apply是数组/伪数组传参
2.执行机制不同:call和apply会立即执行 bind不会立即执行 而是返回一个修改this之后的新函数