zoukankan      html  css  js  c++  java
  • var let const

      重复定义 修改值 声明提升 块级作用域 循环
    var ×(function除外)
    let × ×
    const × ×(数组对象除外) × ×

    声明提升:var a = 1这句话会被浏览器读成 var aa = 1两句话执行,其中var a会在编译阶段就先执行了,而a = 1这段赋值代码会在原地等待执行阶段。

    var重复定义变量会覆盖之前的值,可以修改,var声明的变量的作用域是定义变量的整个函数

    function testVar(){
     var a = 0;
        if(true){ 
          var a =1;
          console.log(a)//输出1,两个a是同一个变量
        }
        console.log(a)//输出1
    }



    var temp = new Date();console.log(temp);
    function f(){
      console.log(temp);//输出undefined  外边的temp作用不到function中 内部的temp会被声明提升
      if(false){
        var temp = "hello";
      }

    }
    f();

    let不能重复定义变量也不能声明提升,let声明的变量的作用域是当前块

    function testLet(){
     let a = 0;
        if(true){ 
          let a =1;
          console.log(a)//输出1,两个a是不同的变量
    } console.log(a)//输出0 }

    const定义的变量只读不可修改,但是数组的对象除外

    const a={}; a.b=13;//不会报错 
    const arr=[]; arr.push(123);
    //不会报错
  • 相关阅读:
    元组转换列表
    python切片
    序列类型的方法 增删改查
    python基础 四则运算和数据类型
    linux 常用基础命令操作
    MySQL 命令操作
    linux中如何修改root密码、设置固定IP、安装vmware tools
    虚拟机中网络桥接模式设置
    PHP基础
    HTML基本标签介绍
  • 原文地址:https://www.cnblogs.com/lovetl/p/13397843.html
Copyright © 2011-2022 走看看