call() 和 apply() 的作用以及区别
来源:互联网 发布:java 泛型 t.class 编辑:程序博客网 时间:2024/06/08 08:14
call() 和 apply() 是预定义的函数方法。
它们作用一样——改变上下文,即this的指向。只是使用方式不同。
语法:
foo.call(this, arg1,arg2,arg3) == foo.apply(this, arguments)
== this.foo(arg1, arg2, arg3);
apply方法——能劫持另外一个对象的方法,继承另外一个对象的属性.
Function.apply(obj,args)方法能接收两个参数,实现将函数作为另外一个对象的方法运行
obj:这个对象将代替Function类里this对象
args:这个是数组,它将作为参数传给Function(args–>arguments)
call方法——与apply的作用相同,只不过是参数列表不一样.
Function.call(obj,[param1[,param2[,…[,paramN]]]])
obj:这个对象将代替Function类里this对象
params:这个是一个参数列表
第一个参数传入的都是对象,区别在于第二个参数。
function A(){ this.flag = 'A'; this.tip = function(){ alert(this.flag); };}function B(){ this.flag = 'B';}var a = new A();var b = new B();//a.tip.call(b);a.tip.apply(b);//弹出'B'
call 和 apply 都可以让B对象调用A对象的tip方法,并且修改了this的当前作用对象.
阅读全文
0 0
- call() 和 apply() 的作用以及区别
- call()和apply()的作用和区别
- call 和 apply的作用
- JS里call和apply的作用和区别
- JS中 call和apply的区别和作用
- 函数的call() apply()方法 的作用和区别
- js中apply和call的用法以及区别
- JavaScript中的call 和apply的用途以及区别
- 【JavaScript】中的call 和apply的用途以及区别研究
- JavaScript中的call 和apply的用途以及区别
- call和apply的区别
- call和apply的区别
- call 和 apply的区别
- call()和apply()的区别
- call和apply的区别
- call()和apply()的区别?
- call()和apply()的区别
- call和apply的区别
- Mac下Mysql的卸载
- No package gcc-c++ available. Error: Nothing to do
- windows+java程序SSH登录linux调用shell脚本
- 单源最短路(SPFA算法)
- 07.10 CentOS6和7的区别
- call() 和 apply() 的作用以及区别
- hadoop参数调优
- Dubbo入门---搭建一个最简单的Demo框架
- HDU3008 Warcraft(发技能打BOSS)
- 框架学习之spring整合struts2、hibernate-02AOP编程
- BZOJ2039 employ人员雇佣
- 强迫症简易自测量问卷系统
- 20170731 JAVA数组练习题:加密传输
- OllyDbg 使用笔记 (一)