javascript函数中不同类型的参数

时间:2015-11-21 14:49:50

标签: javascript parameters

我对javascript很新。在浏览javascript代码时,我找到了::

function Method1(sender, args) { ... }
function Method2(source, arguments) { ... }

何时使用(sender,args)和(source,arguments)?他们的意思是什么?

1 个答案:

答案 0 :(得分:1)

arguments实际上不是JS reserved word,否则您的Method2将无效并且会抛出语法错误。

在函数的参数列表中使用arguments时,它只是一个常规函数参数/参数,与sendersourceargs完全相同。

现在确实Arguments不能用作类名。它在内部由JavaScript用于创建arguments object(这是Tushar在评论中提到的那个)。

  

当控件进入功能代码的执行上下文时,创建一个arguments对象,除非(在10.5中指定)标识符 arguments 作为函数的 Identifier 出现< em> FormalParameterList 或作为功能代码中包含的 VariableDeclaration FunctionDeclaration 标识符出现。

在每个函数中,您可以使用此arguments类似数组的对象访问在该函数调用期间传递的所有参数。对于可能接受非预定(且可能无限制)数量的参数的函数非常有用。

那么你的Method2会发生什么呢?它使用相同的标识符&#34;参数&#34;现在只分配一个参数。好像它有阴影内置的arguments对象。

如果它没有在参数列表中使用,那么功能块中的arguments将自动分配所有参数列表。

演示:http://jsfiddle.net/5cexbrff/(参见控制台中的结果)