funObj.apply([thisObj[,argArray]])
应用某一对象的一个方法,用另一个对象替换当前对象。
functionObj的方法执行时,函数中的this对象会被thisObj替换掉。
thisObj 可选项。将被用作当前对象的对象。
argArray 可选项。将被传递给该函数的参数数组。
//apply在对象继承方面的应用,不使用prototype,隐式的将父对象属性赋给了子对象
function par(name)
{
this.parname=name;
}
function child(chname,parname){
this.chname=chname;
par.apply(this,new Array(parname));
};
var o=new child("john","Mr john");
alert(o.parname+";"+o.chname);
//apply可以在通用的方法调用方面进行使用
window.onunload=function()
{
alert("unload event is fired!");
}
function sayBye(name,toName)
{
alert(name+" says bye to "+toName);
}
function sayEndBiz(name,toName,content)
{
alert(name+" ends his talk about "+content +" with "+toName);
}
function addTo(args,func)
{
var oldHandler=window.onunload||function(){};
window.onunload=function()
{
func.apply(window,args);
oldHandler.apply(window, args);
}
}
addTo(new Array("John","everyone"),sayBye);
addTo(new Array("John","everyone","deveopment strategy of the company"),sayEndBiz)
分享到:
相关推荐
JavaScript中call与apply方法
JavaScript中的`apply`方法是函数对象的一个内置方法,它允许我们改变函数调用时的上下文(即`this`的值)以及以数组形式传递参数。这个知识点在JavaScript编程中非常关键,尤其当我们处理函数或者对象的方法时。...
淡淡简单描述javascript中方法apply和call
javascript callApply代码示例
标题中的“apply应用小结”指的是JavaScript中函数对象的一个关键特性——`apply()`方法的使用总结。`apply()`是JavaScript中函数对象的一个方法,它允许我们调用一个函数,并可以自定义函数执行时的上下文(`this`...
在JavaScript中,`call`和`apply`是两个非常重要的方法,它们都用于改变函数调用时的上下文(即`this`的值),并且可以灵活地传递参数。本篇文章将深入探讨这两个方法的用法、区别以及实际应用场景。 `call`方法...
`apply`是JavaScript中Function对象的一个方法,它可以改变函数调用的上下文(即`this`的值)并接收一个数组或者类数组对象作为参数。语法如下: ```javascript function.apply(thisArg, [argsArray]) ``` - `...
1、call,apply都属于Function.prototype的一个方法,它是JavaScript引擎内在实现的,因为属于Function.prototype,所以每个Function对象实例(就是每个方法)都有call,apply属性。既然作为方法的属性,那它们的使用...
在JavaScript中,`apply`方法是函数对象的一个内置属性,它允许我们改变函数调用时的上下文(即`this`的值)以及传递参数的方式。`apply`接收两个参数:第一个参数是希望作为`this`值的对象,第二个参数是一个数组或...
// 使用apply方法 b.setMessage.apply(a, ["another message"]); console.log(a.getMessage()); // 输出:"another message" ``` 通过这种方式,我们可以实现对象之间的方法共享,这在处理复杂场景或需要复用已有...
JQuery源码分析与JavaScript中的apply与call方法是JavaScript编程中非常重要的概念,这两者都是函数对象的方法,用于在特定的作用域中执行函数,并可以指定函数体内this的指向。从JQuery源码中分析apply和call方法,...
JavaScript中的call、apply和bind方法都是用来改变函数调用时的上下文(即this值)以及传递参数。它们之间的相同点在于,都能够指定函数执行时的this对象,并且都能接收参数。不同点在于它们的调用方式和执行时机。 ...
尽管在现代JavaScript中更推崇使用ES6的class关键字和extends语法来实现继承,但理解apply方法在继承中的作用仍然很重要,因为它有助于深入理解JavaScript原型链的工作原理以及原型继承的本质。
在JavaScript中,`call`和`apply`是两种非常重要的函数调用方式,它们都用于改变函数内部`this`的指向,实现函数的...在实际开发中,理解和熟练掌握`call`和`apply`方法对于编写高效、灵活的JavaScript代码至关重要。
#### call和apply方法:灵活的函数调用 `call`和`apply`是`Function.prototype`上的两个方法,它们允许开发者以不同的上下文(`this`值)调用函数,并提供参数。这两个方法的主要区别在于参数的传递方式: 1. **`...
在JavaScript编程中,`apply`、`call`和`bind`这三个方法被广泛用于改变函数内部`this`的指向,这对于理解和编写复杂的JavaScript代码至关重要。虽然它们的功能相似,但在具体用法上存在一定的差异。 #### 相同之处...
在JavaScript中,`call`和`apply`是两种非常重要的函数调用方式,它们都用于改变函数执行时的上下文,即`this`的指向。`this`在JavaScript中是一个非常关键的概念,它通常指代函数执行时所在的对象。下面我们将深入...
JavaScript中的`apply()`方法是函数调用的一种方式,它允许我们改变函数内部`this`的指向,并且可以灵活处理参数传递。在JavaScript中,`this`关键字通常表示函数执行时的上下文,即函数被调用的位置。`apply()`方法...