关于js中apply方法和call方法的理解

大体上说,apply方法和call方法的功能就是改变当前函数的this指向;

具体用法如下:

Function.call(obj[, param1[, param2[, [,...paramN]]]]);

 

Function.apply(obj[, argArray]);

可以看到,call和apply的区别主要是传入的参数类型不同:

  • apply()方法接收两个参数,一个是函数运行的作用域(this),另一个是参数数组。
  • call()方法不一定接受两个参数,第一个参数也是函数运行的作用域(this),但是传递给函数的参数必须列举出来。

 

备注:

一个关于在math.Max()和math.Min()函数中的应用:

因为Math.max参数里面不支持Math.max([param1,param2]),也就是数组,但是它支持Math.max(param1,param2,param3…),所以可以根据apply来解决:

var array = [1, 2, 3];
var max = Math.max.apply(null, array);
console.log(max);//3

Math.min同理

 

关于js中apply方法和call方法的理解关于js中apply方法和call方法的理解 用代码虚构一个你 发布了9 篇原创文章 · 获赞 0 · 访问量 138 私信 关注
上一篇:Dockerfile 命令总结


下一篇:mysql 截取字符函数substring(param1,param2,param3) 的用法