javascript 的参数问题

JavaScript函数的参数与大多数其他语言中函数的参数有所不同。JavaScript函数不介意传递进来多少个参数,也不在乎传进来的参数是什么数据类型。也就是说,即便你定义的函数只接收两个参数,在调用这个函数时也未必一定要传递两个参数。可以传递一个、三个甚至不传递参数,而解析器永远不会有什么怨言。

之所以这样,是因为JavaScript中的参数在内部是用一个数组来表示的。函数接收到的始终是一个数组,而不关心数组中有哪些参数。这个数组里没有任何元素或者含有很多元素,都没有任何关系。在函数体内可以通过argument对象来访问这个参数数组,从而获取传递给函数的每一个参数。

其实,arguments对象只是与数组类似,因为可以使用方括号语法访问它的每一个元素(第一个元素是argument[0],第二个是argument[1],依次类推),使用length属性可以获取一共传过来多少参数。

 

function add(a,b){
    alert(a+b);
}

function add(a,b){
    alert(arguments[0]+arguments[1]);
}

 

上面两种方法其实是一样的。

这说明JavaScript函数的一个重要特点,命名参数只提供便利,但不是必需的。

 

posted @ 2015-08-17 16:10  八爪  阅读(168)  评论(0)    收藏  举报