博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JS知识整理之 Call&Apply方法
阅读量:4634 次
发布时间:2019-06-09

本文共 1093 字,大约阅读时间需要 3 分钟。

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。

 

转载于:https://www.cnblogs.com/junfly/p/3926701.html

你可能感兴趣的文章
dateTimePicker编辑状态下,取值不正确的问题
查看>>
mac 端口转发方案
查看>>
[2017.02.23] Java8 函数式编程
查看>>
loadrunner支持https协议的操作方法-经验总结
查看>>
30 个 php 操作 redis 常用方法代码例子
查看>>
Knowledge Point 20180305 数据在计算机中的表示
查看>>
谈谈对web标准的理解
查看>>
DIV+CSS规范命名大全集合
查看>>
求二进制中1的个数(编程之美2.1)
查看>>
hdu 4289 网络流拆点,类似最小割(可做模板)邻接矩阵实现
查看>>
接口和异常
查看>>
58前端内推笔试2017(含答案)
查看>>
写给自己的web开发资源
查看>>
Java学习笔记
查看>>
sprintf 和strcpy 的差别
查看>>
jQuery_第五章_jQuery事件和动画
查看>>
打表打表何谓打表?
查看>>
MPEG4与.mp4
查看>>
实验5
查看>>
成长轨迹44 【ACM算法之路 百炼poj.grids.cn】【字符串处理】【2799、2976、2975、2742】...
查看>>