JavaScript call()和apply() 的一些理解
来源:互联网 发布:容错算法 编辑:程序博客网 时间:2024/05/20 16:45
call()方法和apply()方法,在上层应用中用的不是很多,但在底层写JS框架的时候却常常看到。然后度娘谷哥一番,也发现好多达人写出了自己的理解和笔记,但始终还是云里雾里,于是去W3C学习了下
在W3C网上研究这两个方法的时候,看到一个词语,叫“对象冒充”,这个概念本人觉得还是挺重要的,让我对这两个方法理解起来更加直观。
call()方法,看下官方给出的例子
function sayColor(sPrefix,sSuffix) { alert(sPrefix + this.color + sSuffix);};var obj = new Object();obj.color = "blue";sayColor.call(obj, "The color is ", "a very nice color indeed.");
最后输出的结果是“The color is blue, a very nice color indeed.”
call()方法就是将第一个参数替换方法中的this,然后后面的参数传入该方法使用
apply()方法,同样先看个官方给出的例子
function sayColor(sPrefix,sSuffix) { alert(sPrefix + this.color + sSuffix);};var obj = new Object();obj.color = "blue";sayColor.apply(obj, new Array("The color is ", "a very nice color indeed."));
最后输出的结果仍然是“The color is blue, a very nice color indeed.”
其实call()方法和apply()方法可以粗略的认为是差不多的,第一个参数都是替换方法中this关键字,只是后面传给方法的传参方式不同,call是直接对应,apply是利用数组,在数组中一一对应
- JavaScript call()和apply() 的一些理解
- call和apply的理解
- 关于JS中Apply和Call的一些理解
- 对JavaScript中call和apply的理解
- JavaScript中apply和call用法的理解
- javascript的call()和apply()
- javascript的call和apply
- 理解JavaScript中的this、call和apply
- Javascript:apply()和call()方法深入理解
- 简单理解javascript中apply()和call()
- 理解JavaScript的caller,callee,call,apply
- 理解JavaScript的caller,callee,call,apply
- 理解JavaScript的caller,callee,call,apply
- 理解JavaScript的caller,callee,call,apply
- 理解JavaScript的caller,callee,call,apply
- 理解JavaScript的caller,callee,call,apply
- 理解JavaScript的caller,callee,call,apply
- 理解JavaScript的caller,callee,call,apply
- python调用c
- c# 泛型编程典型应用 ModelConvertHelper
- Lucene学习总结-索引文件结构
- 通过http代理,下载git协议的repo
- Oracle日期函数/字符函数/数字函数/转换函数/聚合函数
- JavaScript call()和apply() 的一些理解
- JAVA文件操作类和文件夹的操作(转帖)
- 不同浏览器对window.event的理解
- S3C2410驱动分析之触摸屏驱动
- Supermap5.3许可注册问题
- delphi自定义消息
- 初识Java 开源框架 Play
- 网页平面设计课程
- JS中的RegExp对象(一)