码迷,mamicode.com
首页 > 其他好文 > 详细

参数处理的基本原理

时间:2015-03-04 11:03:03      阅读:120      评论:0      收藏:0      [点我收藏+]

标签:

一、你可以传递任意数量的参数

  当调用一个 function 时,你想传递多少参数都可以,这与该函数声明了多少个正式的参数无关。 缺失参数的值是 undefined,多出来的参数则直接被忽略掉。

二、所有传递的参数都储存在 arguments 中

  所有传递的参数都储存在一个很特别、很像 Array(继续看就能知道为什么了)的变量里——arguments。

  通过下面的function 我们来看下这个变量怎么用的:

function g() {
    console.log(‘Length: ‘+arguments.length);
    console.log(‘Elements: ‘+fromArray(arguments));// fromArray 函数,它把 arguments 转换成 array 这样就能存入数据了
}

  调用 g():

> g()
Length: 0
Elements:
> g(‘a‘)
Length: 1
Elements: a
> g(‘a‘, ‘b‘)
Length: 2
Elements: a,b

  无论明确声明了多少个参数,arguments 是永远在那里的,它总是包含所有实际的参数。

  如果调用者没有提供参数,那么 undefined 就会传递给 function。 你不传参数与传入 undefined 获得的结果是一样的

  而传入false0 以及空字符串都被解析为缺失参数

 

Tips:

我们可以用 || 来指定参数默认值:

function add(x, y) {
    x = x || 0;
    y = y || 0;
    return x + y;
}

参数处理的基本原理

标签:

原文地址:http://www.cnblogs.com/mousehhq/p/4309399.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!