Javascript中的apply()方法浅析_javascript技巧

之前我们说过 Javascript Call 方法,这次我们就说说和Call方法类似的apply方法。

apply vs call

两者间的不同在于:传递的是参数,还是参数数组

这个是call的用法

复制代码 代码如下:

theFunction.call(valueForThis, arg1, arg2, ...)

而这个则是apply

复制代码 代码如下:

theFunction.apply(valueForThis, arrayOfArgs)

故而

复制代码 代码如下:

arrayOfArgs = [arg1, arg2, ...];

Javascript apply 方法

先看看之前的call的用法

复制代码 代码如下:

function print(p1, p2) {
    console.log( p1 + ' ' + p2);
}
print.call(undefined, "Hello", "World");

由上面的叙述,我们可以得出当

复制代码 代码如下:

    args =  "Hello", "World";
function print(p1, p2) {
    console.log( p1 + ' ' + p2);
}
print.call(undefined, args);

两者是等价的,而实际上他们也是等价的,输出结果同样是"Hello,World"!

时间: 2024-10-27 18:46:38

Javascript中的apply()方法浅析_javascript技巧的相关文章

Javascript中的Callback方法浅析_javascript技巧

什么是callback 复制代码 代码如下:  回调函数就是一个通过函数指针调用的函数.如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用为调用它所指向的函数时,我们就说这是回调函数.回调函数不是由该函数的实现方直接调用,而是在特定的事件或条件发生时由另外的一方调用的,用于对该事件或条件进行响应. 这个解释看上去很复杂,于是找到了知乎上一个更好的解释 复制代码 代码如下:  你到一个商店买东西,刚好你要的东西没有货,于是你在店员那里留下了你的电话,过了几天店里有货了,店员就打了你

javascript中一些util方法汇总_javascript技巧

javascript中一些util方法汇总 /***************原生对象工类方法****************/ /** * 判断非空 * @param obj * @returns {boolean} */ function isEmpty(obj) { if (obj == undefined || obj == null || new String(obj).trim() == '') { return true; } else { return false; } } /**

Javascript中的call()方法介绍_javascript技巧

在Mozilla的官网中对于call()的介绍是: 复制代码 代码如下: call() 方法在使用一个指定的this值和若干个指定的参数值的前提下调用某个函数或方法. Call() 语法 复制代码 代码如下: fun.call(thisArg[, arg1[, arg2[, ...]]]) Call() 参数 thisArg 复制代码 代码如下: 在fun函数运行时指定的this值.需要注意的是,指定的this值并不一定是该函数执行时真正的this值,如果这个函数处于非严格模式下,则指定为nul

JavaScript 中的replace方法说明_javascript技巧

第一次发现JavaScript中replace() 方法如果直接用str.replace("-","!") 只会替换第一个匹配的字符.   而str.replace(/\-/g,"!")则可以替换掉全部匹配的字符(g为全局标志).   replace()   The replace() method returns the string that results when you replace text matching its first a

javascript中Number的方法小结_javascript技巧

一.构造函数 Number(value) new Number(value) 二.Number属性 1.Number.MAX_VALUE 返回能表示的最大数字. 2.Number.MIN_VALUE 能表示的最小数字. 3.Number.NAN 非数字值. 4.Number.NEGATIVE_INFINITY 负无穷,当溢出时返回. 5.Number.POSITIVE_INFINITY 正无穷,当溢出时返回. 三.Number方法 1.toString() 使用指定进制,将一个数字转换为字符串.

JavaScript中使用数组方法汇总_javascript技巧

定义数组 复制代码 代码如下: Var arryMap = {riskId:"<%=riskid%>",riskType:"<%=risktype%>"}; 或 复制代码 代码如下: Var arry =[]; 使用: var risk = arryMap.riskId; Arry.push({id:"1",name:"1"}); Arry.push({id:"2",name:&qu

JavaScript中split() 使用方法汇总_javascript技巧

split() 方法用于把一个字符串分割成字符串数组. 例子 1 在本例中,我们将按照不同的方式来分割字符串: var str="How are you doing today?" document.write(str.split(" ") + " ") document.write(str.split("") + " ") document.write(str.split(" ",3)

Javascript中的Callback方法浅析

 这篇文章主要介绍了Javascript中的Callback方法浅析,本文讲解了什么是callback.Javscript Callback.Callback是什么.Callback实例等内容,需要的朋友可以参考下     什么是callback   代码如下: 回调函数就是一个通过函数指针调用的函数.如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用为调用它所指向的函数时,我们就说这是回调函数.回调函数不是由该函数的实现方直接调用,而是在特定的事件或条件发生时由另外的一方调用的

Javascript中Array用法实例分析_javascript技巧

本文实例讲述了Javascript中Array用法.分享给大家供大家参考.具体分析如下: JavaScript中的Array对象就是数组,首先是一个动态数组,而且是一个像C#.Java中"数组.List.HashMap/Dictionary"等的超强综合体. Array数组 使用方式: 例1: var citys = new Array(); //创建数组对象,无需初始化长度,动态 citys[0] = '上海'; citys[1] ='北京'; citys[2] = '深圳'; fo