apply()和call()用法
Posted sanxiandoupi
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了apply()和call()用法相关的知识,希望对你有一定的参考价值。
文章目录
每个函数都有两个非继承的方法:apply()和call()。这两个方法都是在特定作用域中调用函数,实际上等于设置函数体内this对象的值。
方法定义
1、apply()方法——apply([thisObj[,argArray]])
apply()接收两个参数:一个是运行函数的作用域,另一个是参数数组。其中第二个参数可以是Array的实例,也可以是arguments对象。
2、call()方法——call([thisObj[,arg1[, arg2[, [,.argN]]]]])
与apply作用相同,区别在于接收参数方式不同。第一个参数this的值没有变化,其余参数是以列举的方式直接传递给函数。
作用
1、扩充函数赖以运行的作用域
|
|
sayColor.call(o)与o.sayColor()效果一样,但是使用call()(或apply())是的对象不需要与方法有任何耦合关系。
2、实现继承
大专栏 apply()和call()用法ass="highlight plain">
|
|
3、实现多重继承
|
|
以上是关于apply()和call()用法的主要内容,如果未能解决你的问题,请参考以下文章