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 的形式实现
posted @ 2013-11-02 14:40  _漏斗  阅读(403)  评论(0编辑  收藏  举报