您的位置:首页 > Web前端 > JavaScript

js函数的参数

2016-03-21 11:30 316 查看
js函数的参数:
js是弱类型的编程语言,调用函数时既不在乎函数的参数,也不在意参数的类型

即便你定义的函数值接受两个参数,在调用这个函数时也未必一定要是两个参数。
可以传递一个、三个甚至不传递参数,而解析器永远不会有什么怨言.
之所以会这样,原因是ecmascript中的参数在内部是用一个数组来运行的。函数接受到的永远是这个数组,而不关心数组中包含哪些参数(如果有参数的话)如果这个数组中不包含任何元素,无所谓;如果包含多个元素,也没问题.

所有参数都可以通过arguments对象来获取

function Animal(name){
this.name = 'animal';
this.showName = function(){
console.log(this.name);
console.log(name);
}
console.log(arguments);
}

获取方法的参数个数

function test(a,b){
var actual = arguments.length;
var expected = test.length;
console.log(actual);             // 5  实际传入5个
console.log(expected);        // 2   期望 2个
  console.log(arguments[1]);    // 输出 43

}

test(23,43,63,23,23);


arguments的callee属性

表示对函数对象本身的引用,也就是所指定的 Function 对象的正文,这有利于实现匿名函数的递归或者保证函数的封装性。

示例(递归调用):

var sum=function(n){
if(1==n) {
return 1;
} else {
     console.log(n);
return n + arguments.callee(n-1);
}
}
alert(sum(100));
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: