1.对于这三个方法都可以改变对应对象里面的this指向。
2.如果3个方法不传参使用的方法就是一样的
fn1.call(obj), fn1.apply(obj), fn1.bind(obj)
3.如果传递参数call函数括号里面对象的后面直接跟着传递的参数,apply也一样,只是参数必须是数组类型,bind返回的是一个函数所以需要在后面加一个括号传递参数。
var obj1 = {
"name":"jcy",
"age":14
}
var obj = {
"age":18,
"name":"array",
fn:function(str){
alert(this.name+str)
}
}
obj.fn.call(obj1,"ha1");
obj.fn.apply(obj1,["ha2"])
obj.fn.bind(obj1)("haha");