函数补充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>