- call,bind,apply都可以改变this指向
- call,apply都会立即执行,而bind只改变this指向,不会调用函数
- call的参数有很多,apply只有二个参数,第二个参数是数组
var a = 100
function fn () {
console.log(this.a);
}
var obj = {
a: 200
}
fn.call(obj)
fn.apply(obj)
var fn1 = fn.bind(obj)
fn1()
var a = 100
function fn (m, n) {
console.log(this.a + m + n);
}
var obj = {
a: 200
}
// fn(2,3)//这样写结果是105
fn.call(obj, 2, 3)
fn.apply(obj, [2, 3])