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的区别
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
相关阅读更多精彩内容
- 各位观众老爷大家好,欢迎收看内裤总动员之程序猿的IT程序大讲堂,今天给大家分享一个小知识.就是call和apple...
- Javascript 中的 this,有时候让人迷惑,所以总结了一下关于this指向的问题。 在函数中 this ...