javaScript中函数参数ABC
看node,发现javaScript中也可设置默认参数,就试写了一把.
function foo(x=1) {console.log(x);}
结果,node解释器认为这行代码没结束....果然不行么=,=
Google之, 发现javaSrcipt中的默认参数不像python那样写在形参里.
而是要这么写:
function foo(x) { x = arguments[0]?arguments[0]:'defualt'; console.log(x); }
看这代码总觉得有点萌...
如果参数已经用arguments对象管理起来了.那不要形参可不可以呢:
function foo() { x = arguments[0]?arguments[0]:'defualt'; console.log(x); }
执行一下.尼玛,还真行.
总结一下:
1.javaScript中函数的参数是统一由内置对象arguments管理起来的(key从0开始)
2.如果在声明形参,则把arguments的值从0依次赋值给形参
3.javaScript中形参个数和实参个数没有直接联系
4.默认参数可以用 param = arguments[key] ? arguments[key]:default_vale 的形式实现