Function:函数(方法)对象
1. 创建:
1. var fun = new Function(形式参数列表,方法体); 这个东东还是不要记住了,了解下就可以了
2. (常用)
function 方法名称(形式参数列表){
方法体
}
3. (常用)
var 方法名 = function(形式参数列表){
方法体
}
2. 方法:
3. 属性:
length:代表形参的个数
4. 特点:
1. 方法定义是,形参的类型不用写,返回值类型也不写。
2. 方法是一个对象,如果定义名称相同的方法,会覆盖
3. 在JS中,方法的调用只与方法的名称有关,和参数列表无关
4. 在方法声明中有一个隐藏的内置对象(数组),arguments,封装所有的实际参数
5. 调用:
方法名称(实际参数列表);
<!DOCTYPE>
<html>
<head>
<title>02JS基本对象Function</title>
</head>
<body>
<script>
//第一种创建方式
//var fun = new Function(形式参数列表,方法体);
var fun1 = new Function("a","addc","alert(a);");//注意大小写
// fun1(3,6);
// alert(fun1.length);//返回的是形参列表的长度
// 第二种创建方式
function fun2(a,b){
alert(a*b);
}
// fun2(3,4);
// alert(fun2.length);
//第三种创建方式
var fun3 = function(i,j){
alert(i+j);
}
// fun3(8,2);
// alert(fun3.length);
//方法覆盖的特点
var fun3 = function(){
alert("方法名称相同,旧的方法被覆盖了!");
}
//fun3();
//方法调用的特点
//方法的调用只与方法的名称有关,和参数列表无关
var fun5 = function(a,b){
alert(a);
alert(b);
}
// fun5();//结果:undefined
// fun5(2);//结果:弹出2,然后弹出undefined
// fun5(2,4);//结果:弹出2,然后弹出4
// fun5(1,2,3);//结果:弹出1,然后弹出2
//特点:在方法声明中有一个隐藏的内置对象(数组),arguments,封装所有的实际参数
//求两个数的和
// function add(a,b){
// return a+b;
// }
// var sum = add(4,6);
// alert(sum);
//求任意个数的和
function add(){
var sum = 0;
for(var i=0; i<arguments.length;i++){
sum += arguments[i];
}
return sum;
}
var sum = add(1,4,7,5);
alert(sum);
</script>
</body>
</html>