JavaScript中的调用和应用有什么区别?
call() 方法:它调用方法,以所有者对象为参数。关键字 this 指的是函数的“所有者”或它所属的对象。我们可以调用一个可用于不同对象的方法。
句法:
object.objectMethod.call( objectInstance, arguments )
参数:它接受上面提到的两个参数,如下所述:
- objectInstance:它保存一个对象的实例。
- 参数: call() 方法采用逗号分隔的参数。
apply() 方法: apply() 方法用于编写方法,可以在不同的对象上使用。它与函数call() 不同,因为它将参数作为数组。
句法:
object.objectMethod.apply(objectInstance, arrayOfArguments)
参数:它接受上面提到的两个参数,如下所述:
- objectInstance:它保存一个对象的实例。
- arrayOfArguments: apply() 方法接受参数数组。
call() 和 apply() 方法之间的区别:唯一的区别是call()方法采用逗号分隔的参数,而apply()方法采用参数数组。
示例 1:本示例使用 call() 方法调用函数。
html
call() method
GeeksForGeeks
HTML
JavaScript apply() method
GeeksForGeeks
输出:
- 在点击按钮之前:
- 点击按钮后:
示例 2:此示例使用 apply() 方法完成相同的工作。
HTML
JavaScript apply() method
GeeksForGeeks
输出 :
- 在点击按钮之前:
- 点击按钮后:
让我们以表格形式理解差异 - : Syntax -: object.objectMethod.call( objectInstance, arguments ) Syntax -: object.objectMethod.apply(objectInstance, arrayOfArguments) call() Method apply() Method 1. It is used to write such a method that can be used on different objects. It is used to write methods, which can be used on different objects 2. It is a Predefined Method in Javascript. Its return value is the result of the calling function along provided this value and arguments. 3. It is used for an object to use a method that belongs to a different object. We can use a list with this function instead of the array 4. This method can also accepts parameters. This method takes parameter as an array 5.