apply 方法 (Function) (JavaScript)

转载:http://msdn.microsoft.com/zh-cn/library/4zc42wh1(v=vs.94).aspx

写在前面:与call方法类似

调用函数,并用指定对象替换函数的 this 值,同时用指定数组替换函数的参数。

apply([thisObj[,argArray]])

参数

thisObj

可选。 要用作 this 对象的对象。

argArray

可选。 要传递到函数的一组参数。

备注

如果 argArray 不是有效对象,则会出现“应为对象”错误。

如果既未提供 argArray 也未提供 thisObj,则原始 this 对象将被用作 thisObj 且不会传递任何参数。

示例

下面的代码演示如何使用 apply 方法。

 1 function callMe(arg1, arg2){
 2   console.log(‘this value: ‘+ this);
 3   for (var i in callMe.arguments) {
 4     console.log(‘arguments: ‘+ callMe.arguments[i])
 5   }
 6 }
 7
 8 callMe(1, 2);
 9 // this value: [object Window]
10 // arguments: 1
11 // arguments: 2
12
13 callMe.apply(‘a‘, [‘b‘, ‘c‘])
14 // this value: a
15 // arguments: b
16 // arguments: c 

要求

在以下文档模式中受支持:Quirks、Internet Explorer 6 标准模式、Internet Explorer 7 标准模式、Internet Explorer 8 标准模式、Internet Explorer 9 标准模式、Internet Explorer 10 标准模式和 Internet Explorer 11 标准模式。此外,也在应用商店应用(Windows 8 和 Windows Phone 8.1)中受支持。

时间: 2024-08-03 16:36:24

apply 方法 (Function) (JavaScript)的相关文章

call 方法 (Function) (JavaScript)

call 方法 (Function) (JavaScript) 调用一个对象的方法,用另一个对象替换当前对象. 语法 call([thisObj[, arg1[, arg2[, [, argN]]]]]) 参数 thisObj 可选.将作为当前对象使用的对象. arg1, arg2, , argN 可选.将被传递到该方法的参数列表 备注 call 方法用于调用代表另一项目的方法.它允许您将函数的 this 对象从初始上下文变为由 thisObj 指定的新对象. 如果没有提供 thisObj 参数

深入学习JavaScript: apply 方法 详解(转)——非常好

摘自:http://blog.csdn.net/qianzai5765638/article/details/6952321 我在一开始看到javascript的函数apply和call时,非常的模糊,看也看不懂,最近在网上看到一些文章对apply方法和call的一些示例,总算是看的有点眉目了,在这里我做如下笔记,希望和大家分享..  如有什么不对的或者说法不明确的地方希望读者多多提一些意见,以便共同提高.. 主要我是要解决一下几个问题: 1.        apply和call的区别在哪里 2

javascript中call和apply方法

转:http://www.cnblogs.com/ArthurPatten/p/3335912.html 我们可以将call和apply看做是某个对象的方法,通过调用方法的形式来间接调用函数.call和apply的第一个实参是要调用函数的母对象,它是调用上下文,在函数体内通过this来获得对它的引用. 例如,如果要想以对象o的方法来调用函数f,可以按如下的方式使用call和apply方法: f.call(o); f.apply(o); 可以按如下的代码来理解: o.m = f; //将f存储为o

Javascript中call方法和apply方法用法和区别

第一次在博客园上面写博客,知识因为看书的时候发现了一些有意思的知识,顺便查了一下资料,就发到博客上来了,希望对大家有点帮助. 连续几天阅读<javascript高级程序设计>这本书了,逐渐发现了以前很多自己完全没有用过甚至见过的神奇知识点.今天在阅读到有关函数的属性和方法的时候,略感高级,于是乎,查阅了不少他人的博客,在此总结一下这两个方法的以下几个方面: 1.call()和apply()的作用和用法 2.什么时候用apply(),什么时候用call() 书上提到,每个函数都包含两个非继承而来

JavaScript中函数对象的call()和apply()方法的总结

在JavaScript中,每个函数都有call()和apply()方法,用法举例如下: 先定义一个some_obj的对象,该对象有一个say()方法: var some_obj={ name:'Ninja', say:function(who){ return 'Haya ' + who + ', I am a '+ this.name; } }; 调用some_obj.say('Dude'); 输出:"Haya Dude, I am a Ninja" 再创建一个对象 var my_o

JavaScript函数的apply方法与call方法

首先,function是一个指向Function对象,函数名是一个指向函数的指针.那么在函数体内,就会有一个作用域,即this关键字. this关键字指的是函数运行的作用域,举个例子来说: <script type="text/javascript">         function funcA() {             alert(this);             alert("Function A");         } </sc

javaScript的难度开头---使用call方法和apply方法

javaScript  的组合继承 1,使用  call  方法 定义:调用一个对象的一个方法,以另一个对象替换当前对象. <!DOCTYPE html> <html> <head> <title>借用构造函数</title> <meta name="keywords" content="keyword1,keyword2,keyword3"> <meta name="descr

深入学习JavaScript: apply 方法 详解

我在一开始看到javascript的函数apply和call时,非常的模糊,看也看不懂,最近在网上看到一些文章对apply方法和call的一些示例,总算是看的有点眉目了,在这里我做如下笔记,希望和大家分享..  如有什么不对的或者说法不明确的地方希望读者多多提一些意见,以便共同提高.. 主要我是要解决一下几个问题: 1.        apply和call的区别在哪里 2.        什么情况下用apply,什么情况下用call 3.        apply的其他巧妙用法(一般在什么情况下

javascript中 Function.prototype.apply()与Function.prototype.call() 对比详解

Function.prototype.apply()|Function.prototype.call() apply()方法可以在使用一个指定的 this 值和一个参数数组(或类数组对象)的前提下调用某个函数或方法.call()方法类似于apply(),不同之处仅仅是call()接受的参数是参数列表. 简而言之: apply()一个this,一个参数 call()   一个this,多个参数 语法 fun.apply(thisArg[, argsArray])|fun.call(thisArg[