码迷,mamicode.com
首页 > 移动开发 > 详细

JS知识整理之 Call&Apply方法

时间:2014-08-21 12:59:54      阅读:228      评论:0      收藏:0      [点我收藏+]

标签:style   blog   color   java   使用   io   strong   ar   

JavaScript中的函数也是对象,和其他JS对象一样也可以包含方法,其中Call和Apply就是其中比较重要的方法,可以用来间接的调用函数。这两个方法允许显式制定调用所需的this值,也就是说所有函数可以作为任何对象的方法来使用,哪怕这个函数不是那个对象的方法。

Call方法:
语法:call([thisObj[,arg1[, arg2[,   [,.argN]]]]])
Apply方法:

语法:apply([thisObj[,argArray]])

Call和Apply方法作用相同,但从以上语法来看,他们传入的参数方式不同,两个方法第一个参数都是需要调用方法的对象(thisObj),函数所需要的实参Call方法是以列表形式传入,而Apply方法则需要以数组形式传入实参。

实例:

 1         function People(name, age) {
 2 
 3             this.name = name;
 4             this.age = age;
 5             this.showName = function () {
 6 
 7                 console.log(this.name);
 8 
 9             }
10         }
11 
12 
13         function Student(name, age) {
14 
15             this.name = name;
16             this.age = age;
17             this.showAge = function () {
18 
19                 console.log(this.age);
20             }
21         }
22 
23 
24             var people = new People("peopleName", 20);
25             var student = new Student("studentName", 10);
26 
27             people.showName.call(student);//输出studentName

在以上代码中,同样可以使用people.showName.apply(student),输出结果还是studentName。

 

JS知识整理之 Call&Apply方法,布布扣,bubuko.com

JS知识整理之 Call&Apply方法

标签:style   blog   color   java   使用   io   strong   ar   

原文地址:http://www.cnblogs.com/junfly/p/3926701.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!