标签:style http color io ar strong sp on cti
在js中call和apply它们的作用都是将函数绑定到另外一个对象上去运行,两者仅在定义参数方式有所区别,下面我来给大家介绍一下call和apply用法。
在web前端开发过程中,我们经常需要改变this指向,通常我们想到的就是用call方法,但是对于call的理解很多人不是很清晰,那么下面小编就给大家详细说一说call和apply的详细知识
大家在百度里面可以搜索call,关于call的定义都很拗口。在我的理解,a.call(b,arg1,arg2..)就是a对象的方法应用到b对象上。例如如下例子:
代码如下 | 复制代码 |
function add(a,b) |
如下例:
代码如下 | 复制代码 |
function b() |
再看一个复杂的例子:
代码如下 | 复制代码 |
function Animal() |
如下例子:
代码如下 | 复制代码 |
function Animal(name) |
apply和call的用法只有一个地方不一样,除此之外,其他地方基本一模一样
a.call(b,arg1,arg2…)
apply(b,[arg1,arg2]) //apply只有2个参数,它将call的参数(arg1,arg2…)放在一个数组中作为apply的第二参数
标签:style http color io ar strong sp on cti
原文地址:http://www.cnblogs.com/weibozeng/p/4053565.html