• const


    来源:https://www.cnblogs.com/ksl666/p/5944718.html

    1.const定义的变量不可以修改,而且必须初始化。

    1 const b = 2;//正确
    2 // const b;//错误,必须初始化 
    3 console.log('函数外const定义b:' + b);//有输出值
    4 // b = 5;
    5 // console.log('函数外修改const定义b:' + b);//无法输出 

    2.var定义的变量可以修改,如果不初始化会输出undefined,不会报错。

    复制代码
    1 var a = 1;
    2 // var a;//不会报错
    3 console.log('函数外var定义a:' + a);//可以输出a=1
    4 function change(){
    5   a = 4;
    6   console.log('函数内var定义a:' + a);//可以输出a=4
    7 } 
    8 change();
    9 console.log('函数调用后var定义a为函数内部修改值:' + a);//可以输出a=4
    复制代码

    3.let是块级作用域,函数内部使用let定义后,对函数外部无影响。

    复制代码
    1 let c = 3;
    2 console.log('函数外let定义c:' + c);//输出c=3
    3 function change(){
    4   let c = 6;
    5   console.log('函数内let定义c:' + c);//输出c=6
    6 } 
    7 change();
    8 console.log('函数调用后let定义c不受函数内部定义影响:' + c);//输出c=3
    复制代码

    注释:

    var即可用于函数外,亦可用于函数内,这就涉及到全局变量与局部变量的问题

    声明方法:在函数外声明的变量就是全局变量,反之,在函数内声明的变量就是局部变量,

    作用域:
      全局变量无论在函数内,还是函数外,都可访问到;
      局部变量只能在函数内有效,函数外部访问不到该变量及说对应的变量值

    var声明的变量在两种情况下,是全变量:
      1.直接在函数外部声明:var aa=1;
      2.在函数内部不声明关键字 aa=2

  • 相关阅读:
    html不点击提交,自动post
    wpf slider刻度
    visual studio 的 code snippet(代码片段)
    更换手机号之前
    post提交
    动态修改settings
    获取文件数据流+叠加byte数组(给byte数组加包头包尾)
    装箱与拆箱
    ue4中窗口打开web地址
    C++通过Callback向C#传递数据,注意问题
  • 原文地址:https://www.cnblogs.com/George19950505/p/12511169.html
Copyright © 2020-2023  润新知