函数的参数
函数传参
ES6之前函数是无法给参数设置默认值的,而ES6支持了该特性。
- 常见参数:
数值 数组 对象 函数
function f( name, age=100, arr=[], obj={}, call=function(){} ){ console.log(name); console.log(age); console.log(arr); console.log(obj); console.log(call('callback')); } f("l",200,[1,2,3],{a:1},function(info){return info});

- 参数可为函数返回值
function pi(){ return 3.14; } function f(r,p=pi()){ console.log(r*r*p); } f(10); //314
- 第一个参数保持为默认值,只传递往后的参数, 使用undefined占位
function f(name="li",age){ console.log(name); console.log(age); } f(undefined,100);
![]()
- 第二个参数使用第一个参数的值作默认值
function f(x,y=x){ console.log(x);//1 console.log(y);//1 }
f(1);
存在先后顺序,也就是说如果反过来 (y=x,x),x还没有赋值,是不可行的,
- 结构变量有不定元素,函数参数也可以有不定参数 (不定参数之后不可再有参数)
function f(name,...other){ console.log(name);//li console.log(other);//(2) [1, '男'] } f("li",1,"男");
同不定元素, ...other以数组形式返回
name属性
ES6提供name属性 用于获取函数名,以方便开发者,方便判断
函数: function f(){}
表达式: let f2=function(){}
对象:
let obj={ f3:function(){} }
console.log(f.name); //f
console.log(f2.name); //f2
console.log(obj.f3.name); //f3
匿名函数:
console.log((new Function()).name); //anonymous

浙公网安备 33010602011771号