函数的方法
对象的方法
数组的方法
字符的方法
str.indexOf()
function fn(){}
console.log(fn)
改变this指向
fn.bind()
function fn(){
console.log(this)
}
fn() //window
var obj = {};
obj.show = fn;
obj.show(); //obj
使用bind改变this指向
var obj = {
name:"admin",
show:function(){
console.log(this)
}
}
obj.show() //obj
obj.show.bind("hello")(); //hello
obj.show.bind(123123)(); //123123
继承
var 小A = {
name:"AAA",
show:function(){
console.log(this.name);
}
}
var 小B = {
name:"BBB"
}
小A.show();
小A.show.bind(小B)();
var obj = {
name:"admin",
show:function(){
this
setTimeout(function(){
console.log(this)
}.bind(this),1000)
}
}
obj.show()
var 小A = {
name:"AAA",
show:function(msg,q,w,e,r,t,y){
console.log(this.name + msg);
console.log(arguments)
}
}
var 小B = {
name:"BBB"
}
小A.show("hahahah");
小A.show.bind(小B,"啊啊啊啊啊","1","2","3")("heihiehie");
bind()的应用
使用bind改造事件委托中的this指向
bind在结束后,会返回一个新函数,需要再次执行