估计好多小伙伴没有对这两个名字有很明确的区分,编程的时候会混用:
有时候这样:
function Foo(args){
// ...
}
有时候也会这样:
function Foo(params){
// ...
}
虽说这里的名字写什么都行,但是若对这两个名词有深刻的认识就不会在一个项目中混用。一是显的杂乱、不统一,二是显的不专业。
那它俩有啥区别和联系呢?
- parameter 是把传递给函数的参数命名的,它把 argument 引入到函数。
- argument 是传递给函数的值(原始类型的值和对象类型的值)。
看这个例子:
function example(parameter) {
console.log(parameter); // Output = foo
}
const argument = 'foo';
example(argument);
看到了吧,parameter 是形参对参数命名,而 argument 是实参传递给函数的实际参数。
- Function parameters are the names listed in the function’s definition.
- Function arguments are the real values passed to the function.
- Parameters are initialized to the values of the arguments supplied.
参考: