fengchuanyu 1 неделя назад
Родитель
Сommit
725f3c65b7
1 измененных файлов с 99 добавлено и 0 удалено
  1. 99 0
      3_JavaScript/16_函数.html

+ 99 - 0
3_JavaScript/16_函数.html

@@ -0,0 +1,99 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+    <meta charset="UTF-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <title>Document</title>
+</head>
+<body>
+    <script>
+        var n = 5;
+        // function 定义函数 函数名加括号 括号里面参数(行参)
+        function foo(i){
+            // 参数仅在函数内有效
+            console.log(i + 10);
+        }
+
+        // 函数调用 函数名+括号 括号里是参数(实参)
+        // foo(n);
+
+        // 作用域
+        // 在函数外定义的变量称为 全局变量 这个变量所在的作用域称为全局作用域 全局作用域的变量在任何地方都是有效的
+        var k = 1;
+        function foo2(x){
+            // 函数内定义的变量仅在函数内生效
+            // 函数作用域(局部作用域)
+            var y = 10;
+            console.log(x+y+k);
+        }
+        // console.log(y);
+        // foo2(6);
+
+        // 多参数 行参部分 可以定义多个参数用逗号间隔
+        function foo3(x,y){
+            console.log(x+y);
+        }
+        // foo3(1,2);
+
+        // 函数返回值
+        function foo4(x){
+            // 在函数中 return表示返回值  return后面写什么就返回什么
+            return x + 10;
+        }
+        // var sum = foo4(5);
+        // console.log(sum);
+
+
+        function foo5(x){
+            // 函数中遇到return后停止当前函数 后面有代码也不会再执行了
+            return x + 10;
+            console.log(x);
+        }
+        // var sum = foo5(6);
+        // console.log(sum);
+
+        // 函数嵌套
+        function foo6(x){
+            var k = 10;
+            // 函数内定义的函数也是仅在函数内生效 在函数外无法调用
+            function foo7(y){
+                // 内部函数可以调用外部函数的局部变量
+                 console.log(x+y+k);
+            }
+            foo7(2);
+        }
+        // foo6(1);
+
+        // 把函数当作返回值使用
+        function foo8(){
+            function foo9(){
+                console.log("foo9");
+            }
+            return foo9;
+        }
+        // console.log(foo8);
+        // var foo10 = foo8();
+        // console.log(foo10);
+        // foo10();
+
+
+        // 如果function 后面没有函数名 则表示这是一个匿名函数
+        // 匿名函数一般情况不能直接使用 使用的时候会将它赋给一个变量 这个变量名就是他函数名
+        var foo11 = function(a){
+            console.log(a+"foo11");
+        }
+        foo11("hello");
+
+        // 特殊情况 
+        //js中允许先调用函数 后定义函数
+        foo12();
+        function foo12(){
+            console.log("foo12")
+        }
+
+
+
+
+    </script>
+</body>
+</html>