首页 > 代码库 > JS知识整理之 Call&Apply方法
JS知识整理之 Call&Apply方法
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。
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。