zxy0307's picture
Upload 3493 files
08aee07 verified
Raw History Blame Contribute Delete
2.23 kB
<!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>