如何理解js中的call和apply
来源:互联网 发布:linux find 命令 编辑:程序博客网 时间:2024/05/29 04:21
我发现还是知乎上的这个答案比较好理解:
在javascript OOP中,我们经常会这样定义:
function cat(){
}
cat.prototype={
food:"fish",
say: function(){
alert("I love "+this.food);
}
}
var blackCat = new cat;
blackCat.say();
但是如果我们有一个对象whiteDog = {food:"bone"},我们不想对它重新定义say方法,那么我们可以通过call或apply用blackCat的say方法:blackCat.say.call(whiteDog);
所以,可以看出call和apply是为了动态改变this而出现的,当一个object没有某个方法,但是其他的有,我们可以借助call或apply用其它对象的方法来操作。
阅读全文
0 0
- 如何理解js中的call和apply
- 如何理解和熟练运用js中的call及apply?
- 如何理解和熟练运用js中的call及apply?
- 如何理解和熟练运用js中的call及apply
- 如何理解和熟练运用js中的call及apply
- 如何理解和熟练运用js中的call及apply?
- 如何理解和熟练运用js中的call及apply?
- 如何理解和熟练运用js中的call及apply?
- 如何理解js中的call及apply
- 如何理解JS中的call及apply
- JS中的call和apply
- js中的call和apply
- JS中的Call和Apply
- js 中的apply和call
- Js中的call和apply
- JS中的apply和call
- js中的call和apply
- js中的 call()和apply()
- 获得程序当前路径System.getProperty("user.dir")
- Coursera deep learning 吴恩达 神经网络和深度学习 第三周 编程作业 Planar data classification with one hidden layer
- 天天学Linux命令19--locate 命令
- 什么是CGI、FastCGI、PHP-CGI、PHP-FPM、Spawn-FCGI
- Java List<对象>去重
- 如何理解js中的call和apply
- java实现常见排序(选择,冒泡,插入,快速,希尔,堆)
- poj3243:Clever Y(BSGS)
- 外卖小程序设置起送费,配送费和送达时间-微信小程序教程31
- Git连接GitHub,上传项目
- Simditor编辑器 SpringMVC上传图片
- 点餐界面两个ListView联动效果
- C#构造函数、操作符重载以及自定义类型转换
- CGI,FastCGI,PHP-CGI与PHP-FPM