📜  JavaScript中的调用和应用有什么区别?

📅  最后修改于: 2022-05-13 01:56:52.672000             🧑  作者: Mango

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         

                             

                         

输出 :

  • 在点击按钮之前:

  • 点击按钮后:

让我们以表格形式理解差异 - :

 call() Methodapply() 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.

Syntax -:

object.objectMethod.call( objectInstance, arguments )

Syntax -:

object.objectMethod.apply(objectInstance, arrayOfArguments)