面向对象三之call和apply的区别
来源:互联网 发布:安全的网络管理规范 编辑:程序博客网 时间:2024/06/08 08:54
call和apply的区别
call方法的使用:
var obj1 = {
result : 0,
add : function(a,b) {
this.result = a + b;
alert("this.result" + this.result);
}
};
var obj2 = {result : 0};
//问题 :如何让obj2调用obj1的方法,并且正常使用方法的功能
//使用call
//func.call(obj,p1,p1)
//call是函数的一个方法
//解释:让obj2调用obj1的方法,同时函数中的this指向obj2
//call将一个函数绑定到指定的对象,this指向指向这个绑定的对象
obj1.add.call(obj2,1,1); //相当于obj2.add(1,1);
console.log(obj2);//Object {result: 2}
apply方法的使用:
//apply:作用和call相同,都是把一个函数绑定到指定的对象上
//但是apply在传递函数的参数是,传递的是数组(arguments也可以)
//apply传的所有参数放到一个数组中
//作用:让其他对象的方法为你所用
obj1.add.apply(obj2,[1,1]);//相当于obj2.add(1,1)
0 0
- 面向对象三之call和apply的区别
- JavaScript中 apply/call 与面向对象语言中继承关系的联系和区别
- js 面向对象进阶之call apply
- call和apply的区别
- call和apply的区别
- call 和 apply的区别
- call()和apply()的区别
- call和apply的区别
- call()和apply()的区别?
- call()和apply()的区别
- call和apply的区别
- call和apply的区别
- call()和apply()的区别
- call和apply的区别
- call和apply的区别
- call和apply的区别
- apply和call的区别
- JavaScript之call,apply,bind方法的区别和共同点
- 初涉入嵌入式开发!
- 第27节--层次聚类(下)
- A. Grasshopper And the String
- android 标题栏,状态栏和导航栏的区别
- 设计模式之单例模式(Singleton)
- 面向对象三之call和apply的区别
- 开源许可证GPL、BSD、MIT、Mozilla、Apache和LGPL的区别
- (十五)java多线程之并发集合ArrayBlockingQueue
- linux搭建svn版本控制器
- 算法 排序算法之插入排序
- (十六)java多线程之优先队列PriorityBlockingQueue
- 网络安全之---数据库入侵与防范技术
- (十七)java多线程之ThreadPoolExecutor
- android笔记