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

    一、基本用法(let和var区别)

    ES6新增了let命令,用来声明变量,它的用法类似于var,var声明的是全局变量。let声明的变量只在代码块里有效。

    {

      let a =10;

      var b =1;

    }

    console.log(a);  //a is not defined

    console.log(b);       // 1

    上述代码中,分别使用let和var声明了俩个变量,然后在代码块外面调用俩个变量,结果let声明的变量报错,var声明的变量返回正确值。这表明,let声明的变量只在代码块里有效。

    for循环中的计算器,很适合let声明

    for (let i =0 ;i <10 ; i++){

      //....

    }

    console,log(i) ;     //i is not defined

    在上述代码中。计算器i只在for循环体中有效。

    for (var  i =0 ;i <10 ; i++){

      //....

    }

    console,log(i) ;     //i =10

    在上述代码中。变量i是全局变量。

    ------------------------------------------------------------------------------------------------------------------------------------

    总结: 1、var属于ES5规范,let属于ES6规范。

        2、var有预处理机制,let没有。 即预处理机制也就是说变量提升。

         3、  作用域的不同,var是全局作用域,let是局部作用域。

    注意:1、声明变量时,一定要初始化。即var a =1;

        2、 即使在内部,声明变量一定要加上var,不要直接写a =1 ;否则 变量a也会被提升为全局变量。 

            比如说在for循环里面声明的值,就不是全局的 如:for {var a = 'xxx'}

  • 相关阅读:
    时间和时间戳的转换
    遍历Map的四种方法
    MyEclipse2015Stable3.0破解方法
    java 解压缩Zip文件 ziputil
    java Lock
    javaCountDownLatch闭锁
    JavaNIO非阻塞模式
    JavaNIO阻塞IO添加服务器反馈
    JavaNIO阻塞IO
    java三级考试理论题
  • 原文地址:https://www.cnblogs.com/yjf713/p/12974535.html
Copyright © 2011-2022 走看看