|
|
@@ -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>
|