关于javascript中call()和apply()方法的总结
2018-06-24 02:18:34来源:未知 阅读 ()
前段时间在使用javascript的过程中遇到了继承的问题,自己顺便就对call()和apply()方法进行了了解。
两个方法的共同之处:这两个方法作用相同,都用来改变当前函数调用的对象,即改变this的指向。
两个方法的不同之处:不同之处就是两种方法的传参方式不同,apply接受的是数组参数,call接受的是连续参数。
apply()方法的定义:
Function.apply(obj,args);
obj:这个对象会代替Function类里边所指向的this对象。
args:这是一个数组,作为参数传递给Function。
示例:
<script> function Intro(name,age){ this.name=name; this.age=age; this.speak=function(){ console.log('My name is '+this.name+'.'+' I am '+this.age+' years old.'); } } function IntroInh(name,age){ Intro.apply(this,arguments); } var lm=new IntroInh('LiMing',20); lm.speak(); </script>
上面的代码做了一个简单的继承应用,也展示了apply()在其中的作用。
call()方法的定义:
Function.call(obj,[param1[,param2[,…[,paramN]]]]);
obj:这个对象会代替Function类里边所指向的this对象。
params:这是一个参数列表。
示例:
<script> function Intro(name,age){ this.name=name; this.age=age; this.speak=function(){ console.log('My name is '+this.name+'.'+' I am '+this.age+' years old.'); } } function IntroInh(name,age){ // Intro.apply(this,arguments); Intro.call(this,name,age);//对比上面apply()的不同; } var lm=new IntroInh('LiMing',20); lm.speak(); </script>
这里只做一个简单的概念和应用方法的叙述,具体的项目应用还需要我们进一步的实践。
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:JS常见算法题目
下一篇:基于jwt的用户登录认证
- javascript面向对象入门基础详细介绍 2020-03-29
- 关于jQuery UI 使用心得及技巧 2020-03-29
- JavaScript函数表达式详解及实例 2020-03-25
- 如何用javascript连接access数据库 2020-03-20
- js中去掉字串左右空格 2020-03-20
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash