js中使用let定义变量的时候,是需要使用严格模式的,我看到网上有的博客说:如果在不使用严格模式的情况下,使用let会报错,但是在实验的过程中,我直接定义了let变量而且也没有使用严格模式,并没有报任何的错误。所以使用let的时候不使用严格模式会报错的情况不做过多的解释。

我们在使用let的时候添加上'use strict'即可,按照要求来使用let。

1.声明之后未赋值的情况,表现相同,都是undefined

不懂得加QQ 2270312758

  1.  
    <script type="text/javascript">
  2.  
    'use strict';
  3.  
    (function(){
  4.  
    var a;
  5.  
    let b;
  6.  
    console.log(a);//输出undefined
  7.  
    console.log(b);//输出undefined
  8.  
    })();
  9.  
    </script>

2.重复声明同一个变量名并且两者的作用域相同的情况下,表现是不同的

  1.  
    <script type="text/javascript">
  2.  
    'use strict';
  3.  
    (function(){
  4.  
    var a='kka';
  5.  
    let b='akk';
  6.  
    //重新赋值
  7.  
    var a='kkaNew';
  8.  
    let b='akkNew';
  9.  
    console.log(a);//输出kkaNew
  10.  
    console.log(b);//程序报错 Uncaught SyntaxError: Identifier 'b' has already been declared
  11.  
    })();
  12.  
    </script>

3.如果还是同一个变量名,但是作用域不同的情况下,两者的表现也是不同的

  1.  
    <script type="text/javascript">
  2.  
    'use strict';
  3.  
    (function(){
  4.  
    var a='kka';
  5.  
    let b='akk';
  6.  
    //重新赋值
  7.  
    if(true){
  8.  
    var a='kkaNew';
  9.  
    let b='akkNew';
  10.  
    }
  11.  
    console.log(a);//输出kkaNew
  12.  
    console.log(b);//输出akk
  13.  
    })();
  14.  
    </script>
	//说明在var定义变量的时候'{}'里面的a和外面的a是同一个,所以a的值会被覆盖掉
 
	//使用let定义变量的时候'{}'里面的b和外面的b不是同一个,所以b的值并没有发生改变

js中let和var的区别 不懂得加QQ 2270312758的更多相关文章

  1. JS中let和var的区别

    js中let和var定义变量的区别   let变量之前没见过,刚遇到,探探究竟. 以下转自:http://blog.csdn.net/nfer_zhuang/article/details/48781 ...

  2. js中 let 与 var 的区别

    一: 变量提升与否 var: console.log(a); // undefined var a = 'abc'; // 这段代码实际执行顺序是: var a; //变量声明提升至当前作用域顶部 c ...

  3. js动态生成层方法 不懂得加QQ 2270312758

    我们在WEB开发时,很多时候往往需要我们 JavaScript 来动态建立 html 元素,动态的设置相关的属性.比方说我们想要建立一个 div 层,则可以使用以下代码实现.一.直接建立 functi ...

  4. js中 慎用for(var o in arrays) 遍历数组,for(var i,i< objects.length;i++)与for(var i,n = objects.length;i<n;i++) 的性能区别

    原文:js中 慎用for(var o in arrays) 遍历数组,for(var i,i< objects.length;i++)与for(var i,n = objects.length; ...

  5. JS中isPrototypeOf 和hasOwnProperty 的区别 ------- js使用in和hasOwnProperty获取对象属性的区别

    JS中isPrototypeOf 和hasOwnProperty 的区别 1.isPrototypeOf isPrototypeOf是用来判断指定对象object1是否存在于另一个对象object2的 ...

  6. (网页)Angular.js 中 copy 赋值与 = 赋值 区别

    转自st.gg Angular.js 中 copy 赋值与 = 赋值 区别 为什么用 $scope.user = $scope.master; $scope.master 会跟着 $scope.use ...

  7. js中的substr和substring区别

    js中的substr和substring区别 Substring: 该方法可以有一个参数也可以有两个参数. (1)  一个参数: 示例: var str=“Olive”: str.substring( ...

  8. JS 中的require 和 import 区别整理

    ES6标准发布后,module成为标准,标准的使用是以export指令导出接口,以import引入模块,但是在我们一贯的node模块中,我们采用的是CommonJS规范,使用require引入模块,使 ...

  9. 浅谈JS中的!=、== 、!==、===的用法和区别 JS中Null与Undefined的区别 读取XML文件 获取路径的方式 C#中Cookie,Session,Application的用法与区别? c#反射 抽象工厂

    浅谈JS中的!=.== .!==.===的用法和区别   var num = 1;     var str = '1';     var test = 1;     test == num  //tr ...

随机推荐

  1. 微信小程序保存图片到相册

    先来看小程序中的保存图片到相册的api wx.saveImageToPhotosAlbum({ filePath : "./test.png", //这个只是测试路径,没有效果 s ...

  2. ssm客户管理系统的设计与实现

    ssm客户管理系统 注意:系统是在实现我的上一篇文章 https://www.cnblogs.com/peter-hao/p/ssm.html的基础上开发 1     需求 1.1   添加客户 客户 ...

  3. FreeSql 与 SqlSugar 性能测试(增EFCore测试结果)

    这篇文章受大家邀请,与 SqlSugar 做一次简单的性能测试对比.主要针对插入.批量插入.批量更新.读取性能的测试: 测试环境 .net core 2.2 FreeSql 0.3.17 sqlSug ...

  4. .Net 特性 attribute 学习 ----自定义特性

    什么是特性? [Obsolete("不要用无参构造函数",true)] 放在方式上, 该方法就不能使用了  [Serializable]放在类上面.该类就是可以序列化和反序列化使用 ...

  5. Python中使用枚举类

    开发中我们经常定义常量, 其实有更好的方法:为这样的枚举类型定义一个class类型,然后,每个常量都是class的一个唯一实例.Python中提供了Enum类来实现这个功能: from enum im ...

  6. 用python复制图片、视频

    图片复制 f_src = open('1.jpg','rb') content = f_src.read() f_copy = open('1-副本.jpg','wb') f_copy.write(c ...

  7. Cookie、LocalStorage 与 SessionStorage的区别在哪里?

    基本概念 Cookie Cookie 是小甜饼的意思.顾名思义,cookie 确实非常小,它的大小限制为4KB左右.它的主要用途有保存登录信息,比如你登录某个网站市场可以看到“记住密码”,这通常就是通 ...

  8. 5G 时代,可能是什么样呢?

        (摄于上海陆家嘴) 众所周知,5g时代即将到来,其相关的区块链技术也将在更多的领域以及方面发挥越来越多的作用. 与新模式与新领域这种软性变化不同,新技术的产生,有着足够的想象空间.仅从内容创作 ...

  9. postgreSQL 玩转josnb (长期更新)

    json和jsonb的操作符 jsonb额外操作符 json创建函数 json处理函数 函数 返回类型 描述 示例 结果 json_array_length(json) jsonb_array_len ...

  10. Sql中CHARINDEX用法

    CHARINDEX作用 写SQL语句我们经常需要判断一个字符串中是否包含另一个字符串,但是SQL SERVER中并没有像C#提供了Contains函数,不过SQL SERVER中提供了一个叫CHAEI ...