我知道参数是传递给函数的变量,并为函数中的参数赋值,但我无法理解:
javascript中“arguments”和“parameters”之间的主要区别是什么?
答案 0 :(得分:27)
参数是将传递给函数的值的别名。参数是实际值。
var foo = function( a, b, c ) {}; // a, b, and c are the parameters
foo( 1, 2, 3 ); // 1, 2, and 3 are the arguments
答案 1 :(得分:2)
13 Function Definition
语法
FunctionDeclaration : function Identifier ( FormalParameterList (opt) ) { FunctionBody } FunctionExpression : function Identifieropt ( FormalParameterList (opt) ) { FunctionBody } FormalParameterList : Identifier FormalParameterList , Identifier FunctionBody : SourceElements (opt)
官方称它们被称为参数,但实际参数在同一个被调用对象中给出。但是,这两个词都是可以互换的。
答案 2 :(得分:1)
参数(如果有)定义方法签名。 参数是值传递到函数中。
但我猜是相同的。
void function(int param1, string param2) //defines the types the function must receive
。
function(1, "Hello World")
1和“Hello World”作为参数传递。参数接收(如果您愿意)。
很好地解释了here
答案 3 :(得分:1)
参数是函数的属性。
参数是函数的特定调用的属性。
在javascript中,如果你没有给出与参数数量相等的参数,那么额外的参数就是undefined
。
function f(a,b,c) // 3 parameters
f(1) // 1 argument given; inside the function f, a will be 1, and b and c will be undefined
答案 4 :(得分:0)
定义函数时,表示将传递给它进行处理的值的变量称为参数。例如,以下函数定义有一个名为$ number的参数:
function doubleIt($number) {
return $number *= 2;
}
但是,使用函数时,传递给它的值称为参数。因此,在以下情况中,$ price作为参数传递给doubleIt():
$price = 50;
$inflated_price = doubleIt($price); // 100