File size: 2,229 Bytes
08aee07 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 | <!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Function对象</title>
</head>
<body>
<script>
/*
Function:函数(方法)对象
1. 创建:
1. var fun = new Function(形式参数列表,方法体); //忘掉吧
2.
function 方法名称(形式参数列表){
方法体
}
3.
var 方法名 = function(形式参数列表){
方法体
}
*/
//创建方法:形参的类型不用写,返回值类型也不写
//1、创建方式1
var fun1 = new Function("a", "b", "document.write(a + '<br/>');" );
fun1(1,2);//调用
//2、创建方式2
function fun2(a, b) {
document.write((a + b) + "<br/>");
}
fun2(3,7);
//3、创建方式3
var fun3 = function(a, b) {
document.write((a + b) + "<br/>");
}
fun3(3,9);
document.write("fun3.length = " + fun3.length + "<br/>");//形参个数
//覆盖方法: 方法是一个对象,如果定义名称相同的方法,会覆盖
fun2 = function(a, b){
document.write((a - b) + "<br/>");
}
//方法调用: 在JS中,方法的调用只与方法的名称有关,和参数列表无关
fun2(1,2);
fun2(3);//b为undefined
fun2();//a,b为undefined
fun2(1,2,3);//3没有被用到
//传入函数的所有参数,自动进入内置数组arguments中
/*
求任意个数的和
*/
function add(){
var sum = 0;
for(var i = 0; i < arguments.length; i++)
{
sum += arguments[i];
}
return sum;
}
var sum = add(1,2,3,4);
alert(sum);
</script>
</body>
</html> |