zoukankan      html  css  js  c++  java
  • 范仁义js课程---50、函数作用域

    范仁义js课程---50、函数作用域

    一、总结

    一句话总结:

    函数作用域指只能在函数里面发挥作用的变量,在函数外无法被访问到,可以在函数里面用var关键字声明一个函数变量

    1、如何定义一个函数作用域的变量?

    在函数里用var关键字声明一个变量,这个变量的作用域就是函数作用域,在函数中,使用var关键字声明的变量才是函数变量,没使用var关键字声明的变量是全局变量

    2、函数变量的生命周期是怎样?

    函数变量的生命周期是函数被使用的时候创建,使用完之后销毁,所以调用函数一次,函数变量就被创建一次,调用完之后就会被销毁

    3、在函数里面访问变量的规则是怎样的?

    函数在访问变量的时候是有 就近原则的,会优先在函数里面找,函数里面如果有的话,就使用,没有的话就会一层一层的往上找

    4、如何在函数里面访问全局变量?

    可以直接通过window对象的属性来在函数里面直接访问全局变量,比如window.c就是访问的全局的c这个变量

    5、函数里面有 变量和函数的声明提前 么?

    在函数中,变量和函数都是有声明提前的

    二、局部作用域

    博客对应课程的视频位置:50、函数作用域
    https://www.fanrenyi.com/video/19/150

     1 <!DOCTYPE html>
     2 <html lang="en">
     3 <head>
     4     <meta charset="UTF-8">
     5     <title>函数作用域</title>
     6 </head>
     7 <body>
     8 <!--
     9 1、
    10 函数作用域:指只能在函数里面发挥作用的变量
    11 
    12 函数作用域的变量,在函数外是无法被访问到的
    13 
    14 2、
    15 如何定义一个函数作用域的变量
    16 在函数里面用var关键字声明一个变量
    17 
    18 注意点:在函数中,使用var关键字声明的变量才是函数变量,
    19 在函数中,没使用var关键字声明的变量是全局
    20 
    21 推荐:在函数里声明变量一般都使用var关键字
    22 
    23 3、
    24 函数变量的生命周期
    25 函数变量相当于是挂靠在函数上面的,
    26 函数变量的生命周期是函数被使用的时候创建,使用完之后销毁
    27 
    28 注意点:
    29 函数被声明的时候,函数中的变量是不会被创建出来的
    30 
    31 调用了这个函数几次,这个函数里面的函数变量就相当于被创建了几次,被销毁了几次
    32 
    33 
    34 在函数里面可以访问全局的变量,但是在全局里面不能访问函数的变量
    35 
    36 4、
    37 函数在访问变量的时候是有 就近原则的
    38 函数里面再使用变量的时候,会优先在函数里面找,函数里面如果有的话,就使用,没有的话就会一层一层的往上找
    39 
    40 5、
    41 如何在函数里面使用全局变量
    42 可以直接通过window对象的属性来访问,比如window.c就是访问的全局的c这个变量
    43 
    44 6、
    45 函数里面的变量和函数的声明提前
    46 
    47 
    48 
    49 -->
    50 <script>
    51     var c=20;
    52     console.log('程序开始');
    53     function fun1() {
    54         console.log(a);
    55         var a=14;
    56         var c=22;
    57         //b=15;
    58         //console.log(a);
    59         console.log(c);
    60         fun2();
    61         function fun2() {
    62             var c=25;
    63             console.log('fun2: '+c);
    64             console.log('fun2 里面的全局的c: '+window.c);
    65         }
    66         //fun2();
    67         //console.log("函数里:b="+b);
    68     }
    69     fun1();
    70 
    71     //fun1();
    72     //console.log(a);
    73     //console.log("函数外:b="+b);
    74 </script>
    75 </body>
    76 </html>
     
  • 相关阅读:
    linux 中安装 maven
    linux中如何安装jdk
    MySQL中的语法怎么执行的
    接口自动化--使用正则管理数据
    数学
    Java 并发--- 线程间协作的两种方式:wait、notify、notifyAll和Condition
    Java 并发--- Callable、Future和FutureTask
    Java 并发--- 线程池
    Java 并发--- 阻塞队列
    Java 并发---ConcurrentHashMap
  • 原文地址:https://www.cnblogs.com/Renyi-Fan/p/12431050.html
Copyright © 2011-2022 走看看