📜  多个参数和选项对象之间的区别

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

多个参数和选项对象之间的区别

多个参数:参数对象是一个类似数组的对象,表示调用函数时传递的参数。这个类数组对象没有数组原型链,因此它不能使用任何数组方法。它具有长度属性,但没有数组的内置方法,如 forEach() 和 map() 方法。
特征:

  • Javascript 中的参数是按值传递的。这个函数只知道值,而不是参数位置。
  • Javascript 中的Arguments.length取决于调用参数,而不是函数签名。
  • 您可以使用arguments.length来确定在给定函数调用期间传入了多少个参数。
  • 代码可读性最高。

用法:

  • arguments.callee:对参数所属的当前执行函数的引用。
  • arguments.length:传递给函数的参数数量。
  • arguments.caller:对调用当前执行函数的函数的引用。
  • arguments[@@iterator]:返回一个新的 Array Iterator 对象,该对象包含参数中每个索引的值。

示例:这是 javascript 中多个参数的示例。实际上参数不像数组,它不遵循数组属性,除了长度。我们可以将函数的所有类型的输入用作多个参数。在函数中,我们可以传递多个参数,但很难将命名参数作为多个参数传递。

  • 程序:
javascript


html


 

    Option object
     
    

 

    

 


  • 输出:
1
2

选项对象:选项对象是将命名参数传递给函数的常见模式。当一个函数有两个或更多参数时,我们可以使用选项对象。对于具有四个或更多参数的函数,选项对象是一个不错的选择。一个函数有一个或两个参数,我们希望将来添加更多参数,因此我们可以使用选项对象来代替以后重写代码。
选项对象与多个参数不同,因为多个参数可以采用多种类型的参数,例如 int、float、char、 字符串...等,而选项对象只能采用 AlertIcon 等命名参数。
特征:

  • 这个函数最多可以有34个参数,都是可选的。
  • 使用“选项作为对象”方法将是最好的。您不必担心属性的顺序。

用法:

  • 如果你有四个以上的参数。
  • 至少一个参数是可选的。
  • 很难弄清楚参数函数需要什么。

例子:

  • 程序:

html



 

    Option object
     
    

 

    

 
      
  • 输出:
A dropdown menu of available courses

多个 Arguments 和 Options 对象的区别:

Multiple ArgumentsOptions Objects
Multiple arguments are mostly for obligatory parameters.Options object are mostly for named arguments.
Can not add more arguments after implementation without rewriting.Can add more arguments after implementation without rewriting.
It have index properties like array e.g. arguments have index like [0, 1, 2, 3…].It does not have index properties like array.
It is Passed by Value.It is Passed by Reference.
Can be use for any number of arguments but good for less number of arguments except optional arguments.Can be use for more than four arguments with atleast one argument is optional.