JS:函数的形参与实参
形参:
函数显式参数在函数定义时列出。形参用来接收实参的值传进函数内使用。
函数调用未传参时,参数会默认设置为: undefined。
function fn(a,b,c){ }
此时有一个隐式操作:var a,var b ,var c;
a,b,c为形参,初始时,a=undefined,b=undefined,c=undefined;
实参:
函数内部有一个关键字 arguments,代表实际传入函数的参数列表。
function fn(a,b){ console.log(arguments.length); //打印为2 } fn(1,2); //传入的1,2就是实参
实际传入函数的参数(实参) 的个数可以比形参的个数多,按照顺序赋值 ,当实参个数少于形参时,多余的形参就未被赋值,若打印就是undefined;当实参个数多余形参时,按顺序给形参赋值,多余的实参被忽略。
但多余的实参不会影响程序的执行逻辑但是会影响性能。
*函数的length属性代表的是形参的个数
console.log(fn.length)
函数的name属性:是函数的一个非标准的属性
*通过这个属性,我们可以访问给定函数的名字;
// 函数的name属性 function fn() {}; console.log(fn.name); //fn var a = fn; console.log(a.name); //fn var a = function () {}; console.log(a.name); //a var a = function fn() {}; console.log(a.name); //fn