函数补充01(深入)函数的概念、创建、参数、返回值

 1 <script>
 2     // 一、函数: 主要是放置一个代码区块,可以控制代码区块的运行。函数里面的代码不会自动运行,需要调用函数才会运行里面的代码块。
 3     // 二、创建函数的方式:
 4     // 1. function 命令
 5     function getName() {
 6         var name = "zhang san"
 7         console.log(name);
 8     }
 9     getName();
10     // 2. 函数表达式创建,用变量赋值函数的形式。
11     var getName1 = function () { // 没有函数名称的叫匿名函数
12         var name1 = "name1";
13         console.log(name1);
14     }
15     getName1();
16     console.log('.....................');
17 
18     // 3. Function(a,b...,body) 构造函数。 Function是js内置的一个构造函数,可以创建一个函数出来。可以有多个函数的参数,最后一个参数是函数体(代码区块)。
19     // 注意: 该方法可以把字符串为js代码运行
20 
21     var getName2 = new Function('x', 'y', "var name2='name2';console.log(name2,x+y);");
22     /*   //等价于
23     
24              let getName2 = function(x,y){var name2='name2';console.log(name);}
25          */
26     getName2(1, 2)
27     console.log(getName2);
28     console.log('........................');
29 
30 
31     // 四、函数的参数,在函数小括号里面的变量就叫参数
32     // 1. 参数可以设置默认值,如果参数没有默认值也没有赋值,参数的值是undefined
33 
34     function f1(width, height, name = "test") { // width,height是函数参数(局部变量,只能在函数内部使用),也叫形参,
35         console.log(width, height, name);
36     }
37     f1(12, 20); // 调用函数的时候给参数赋值。实参
38 
39     // 2. 函数有arguments是的默认变量,值是函数的所有参数(实参),是一个类数组对象。
40     function f2() {
41         console.log(arguments);//Arguments(4) [1, 2, 3, "aaa"]
42         console.log(arguments[1]);
43     }
44     f2(1, 2, 3, "aaa");
45     console.log('........................');
46 
47     // 3. 函数的参数可以是任意数据类型,把一个函数作为参数传递给另外一个函数,就叫回调函数,非常重要。
48 
49     function getData(callback) {
50         console.log(callback);
51         callback(1);
52     }
53     function f3(a) {
54         console.log('callback');
55         console.log(a);
56     }
57     getData(f3)
58 
59     //4. return 返回值,可以返回函数内部的值到函数外部。一个函数如果没有return,可以理解为默认返回的是undefined。
60     //4.1 return 可以终止后面js代码的执行。
61     function f4() {
62         var name = "f4";
63         return name; // return后面的js语句都不会运行。
64         console.log("f4-go")
65     }
66     let f4name = f4(); // f4name = "f4";
67     console.log(f4name);
68 </script>

 

 

 

 

 

posted @ 2022-08-09 17:16  YBYZ  阅读(78)  评论(0)    收藏  举报