var a={
name:"aaa"
}
var b={
name:"bbb"
}
var box=document.getElementsByClassName("box")[0];
box.onclick=function(){
console.log(this.name)
}.call(a) //call会马上执行 因为匿名函数的调用者不再是box了,onclick是box的属性
box.onclick=function(){
console.log(this.name)
}.bind(b) //bind要点击才执行
//事实上,函数执行时,this会作为一个隐形的参数传入函数体中
//bind函数的作用是指把传入的this参数改为bind的参数
var obj={
x:81
}
var foo={
getX:function(){
return this.x
}
}
console.log(foo.getX.bind(obj)()) //bind要加()才执行
console.log(foo.getX.call(obj))
console.log(foo.getX.apply(obj))
Javascript的call和bind的区别
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 各位观众老爷大家好,欢迎收看内裤总动员之程序猿的IT程序大讲堂,今天给大家分享一个小知识.就是call和apple...
- Javascript 中的 this,有时候让人迷惑,所以总结了一下关于this指向的问题。 在函数中 this ...