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>