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. python-----HTMLTestRunner报告生成注意点!

    简单的测试加HTMLTestRunner使用的具体方式如下:

  2. hystrix服务降级(3)

    Hystrix使用fallback机制很简单,继承HystrixCommand只需重写getFallback(),继承HystrixObservableCommand只需重写resumeWithFal ...

  3. mybatis-generator自動逆向生成文件

    首先在maven里面添加插件 <plugins> <plugin> <groupId>org.mybatis.generator</groupId> & ...

  4. React 中阻止事件冒泡的问题

    在正式开始前,先来看看 JS 中事件的触发与事件处理器的执行. JS 中事件的监听与处理 事件捕获与冒泡 DOM 事件会先后经历 捕获 与 冒泡 两个阶段.捕获即事件沿着 DOM 树由上往下传递,到达 ...

  5. Vue中引入bootstrap导致的CSS问题

    最近在进行vue.js+webpack进行模块化开发的时候,遇到一个奇怪的问题. 问题是这样的: 1. 在main.js文件中引入bootstrap的js和css. 2. 自己写了一个Header.v ...

  6. 用原生JS从零到一实现Redux架构

    前言 最近利用业余时间阅读了胡子大哈写的<React小书>,从基本的原理讲解了React,Redux等等受益颇丰.眼过千遍不如手写一遍,跟着作者的思路以及参考代码可以实现基本的Demo,下 ...

  7. 中国.NET:各地微软技术俱乐部汇总(持续更新中...)

    中国.NET:各地微软技术俱乐部汇总(持续更新中...)   本文是转载文,源地址: https://www.cnblogs.com/panchun/p/JLBList.html by ​史记微软. ...

  8. 『OGG 03』Win7 配置 Oracle GoldenGate 一次性成功(包括Adapter Java)

    安装Oracle: 安装 Oracle_11g 32位[Oracle 32位的话,OGG 也必须是 32位,否则会有0xc000007b无法正常启动 错误] 安装目录为 D:\oracle\produ ...

  9. 结合JDK源码看设计模式——观察者模式

    前言: 现在我们生活中已经离不开微信,QQ等交流软件,这对于我们来说不仅是交流,更有在朋友圈中或空间中进行分享自己的生活,同时也可以通过这个渠道知道别人的生活.我们在看朋友圈的时候其实我们扮演的就是一 ...

  10. js初级入门

    javascript的数据类型 (symbol)一.原始数据类型 或 基本数据类型 6种 1,undefined (1,申明未赋值,2,函数没有返回值)2,null (空,不存在)3,number ( ...