zoukankan      html  css  js  c++  java
  • let 和 var定义变量的区别-盼盼Degenerate

    let和var关键字的区别

    声明后未赋值,表现相同

    (function() {

          var varTest;

          let letTest;

          console.log(varTest); //输出undefined

          console.log(letTest); //输出undefined

    }());

    使用未声明的变量,表现不同:

    (function() {

      console.log(varTest); //输出undefined

      console.log(letTest); //直接报错:Uncaught ReferenceError: letTest is not defined

      var varTest = 'OK';

      let letTest = 'OK';

    }());

    重复声明同一个变量时,表现不同:

    (function() {

      var varTest = 'OK';

      let letTest = 'OK';

      var varTest = 'NO';

      let letTest ='NO'; //直接报错:Uncaught SyntaxError: Identifier 'letTest' has already been declared

      console.log(varTest); //  输出NO (注意要注释掉上面letTest变量的重复声明才能运行)

      console.log(letTest); //  输出OK  (注意要注释掉上面letTest变量的重复声明才能运行)

    }());

    变量作用范围,表现不同:

    (function() {

       var varTest = 'OK';

       let letTest = 'OK';

      {

       var varTest = 'NO';

      let letTest = 'NO';

       }

      console.log(varTest); //   输出"NO",内部"{}"中声明的varTest变量覆盖外部的letTest声明

      console.log(letTest); //  输出"OK",内部"{}"中声明的letTest和外部的letTest不是同一个变量

    }());

  • 相关阅读:
    组合
    面向对象初识, 类名,对象的的使用, 类名称空间和对象名称空间
    内置函数2 递归函数
    内置函数~~~
    生成器 列表推导式 列表表达式
    函数名应用 闭包 迭代器
    函数 动态参数, 名称空间 作用域 取值顺序,函数的嵌套
    函数初识~~
    文件操作要点
    Mysql索引原理
  • 原文地址:https://www.cnblogs.com/panpan-degenerate/p/6556266.html
Copyright © 2011-2022 走看看