个人对call和apply方法的理解
2013-12-04 09:44
627 查看
<html> <head> <script language="javascript"> //定义一个工具"类"(方法),提供具体实现方法,将被很多“类”调用,this将会被使用call或者是apply方法替换——这也是call和apply方法的目的,更换对象 function Utils(){ this.name = "huangbiao"; this.getArgumentsLength = function(str){ return arguments.length; } this.getDate = function(){ return new Date(); } this.getUserName = function(){ alert(this.name); } } function User(){ this.name = "biaobiao"; } // var util = new Utils(); var user = new User(); //alert(util.getArgumentsLength.call(user,"arg1","arg2","arg3")); //alert(util.getDate.apply(user)) //下面这种方法类似于java的“子类调用父类对象方法” util.getUserName(); //getUserName方法中的this已经改为user而不再是util, util.getUserName.call(user); </script> </head> <body></body> </html>
在自己写插件的时候可以充分利用call和apply的这种特性,但两种方法添加参数的方法是不一致的,分别是逗号和数组
//animal.showName.call(cat,"hb","bb");
//animal.function_alert.apply(man,["hb","bb","hh"]);
相关文章推荐
- 个人对call和apply方法的理解
- call和apply理解及使用方法
- 理解JS中的call、apply、bind方法
- 深入理解关于javascript中apply()和call()方法的区别
- 《学习日记》prototype,_proto_以及call\apply方法理解
- 深入理解关于javascript中apply()和call()方法的区别
- 深入理解关于javascript中apply()和call()方法的区别
- JavaScript之call(),apply(),bind()三个方法理解
- 理解JS中的call、apply、bind方法
- 理解JS中的call、apply、bind方法
- 深入理解JavaScript中的call、apply、bind方法的区别
- 对call() apply() 方法的简单理解
- 彻底理解了call()方法,apply()方法和bind()方法
- 深入理解JavaScript中的call、apply、bind方法的区别
- 关于 js 的 prototype , call,apply ,闭包,回调 个人浅显理解
- 【JavaScript 学习--09】--理解Js 中的apply 和 call方法
- Javascript:apply()和call()方法深入理解
- JavaScript 中的 call() 和 apply() 方法深入理解
- 理解JS中的call、apply、bind方法
- 谈谈关于js中关于函数的apply和call方法的理解