在JavaScript中,函数(function)就是对象。注意:这里的function是小写字母开头。
在JavaScript中,有一个Function对象,所有自定义的函数都是Function对象类型的。
Function对象接收的所有参数都是字符串类型的。
其中最后一个参数就是要执行的函数体,而前面的参数则是函数真正需要接收的参数。
下面就上面两条举个例子:
1 、
//function add(number) {
//alert(number + 20);
//}
//add(10);
//var add = function(number, number1) {
//alert(number + 10);
//}
//add(10);
以上两种定义方式是等价的,但是后者更能说明函数function是一个对象。而add就是指向这个对象的一个引用。
2、
//var add = new Function("number", "alert(number + 20);");
//add(10);
//var add = new Function("number", "number2", "alert(number + number2);");
//add(10, 10);
这两种是对后面一种解释的例子,使用new方式定义一个对象,与java类似。
其中上面的第一个参数为传参,第二个参数为函数体的部分;
调用add(10);,执行时,把参数10传递到函数体中,进行相加后,弹出结果30;
3、 记住:在JavaScript中,没有限制说要传递多少个参数,JavaScript并不限制。
但是有个限制。就是每一个函数都有一个隐含的对象arguments。接收实际调用
方法时,传递进来的参数。记住:是实际传递进来的参数哦。
例子:
var add = function(n1, n2) {
alert(arguments[0]);
alert(arguments[1]);
alert(arguments[2]);
}
add(1, 2, 3, 4, 5, 6, 7, 8,9);
//上面add的定义虽然只有两个形参,但是在调用时却传进来了9个实际参数。
//没有关系,隐含对象arguments都给你记录下来了。只要通过arguments[i]。即可获取到第i个参数的值。