js中let和var的区别 不懂得加QQ 2270312758
js中使用let定义变量的时候,是需要使用严格模式的,我看到网上有的博客说:如果在不使用严格模式的情况下,使用let会报错,但是在实验的过程中,我直接定义了let变量而且也没有使用严格模式,并没有报任何的错误。所以使用let的时候不使用严格模式会报错的情况不做过多的解释。
我们在使用let的时候添加上'use strict'即可,按照要求来使用let。
1.声明之后未赋值的情况,表现相同,都是undefined
不懂得加QQ 2270312758
- <script type="text/javascript">
- 'use strict';
- (function(){
- var a;
- let b;
- console.log(a);//输出undefined
- console.log(b);//输出undefined
- })();
- </script>
2.重复声明同一个变量名并且两者的作用域相同的情况下,表现是不同的
- <script type="text/javascript">
- 'use strict';
- (function(){
- var a='kka';
- let b='akk';
- //重新赋值
- var a='kkaNew';
- let b='akkNew';
- console.log(a);//输出kkaNew
- console.log(b);//程序报错 Uncaught SyntaxError: Identifier 'b' has already been declared
- })();
- </script>
3.如果还是同一个变量名,但是作用域不同的情况下,两者的表现也是不同的
- <script type="text/javascript">
- 'use strict';
- (function(){
- var a='kka';
- let b='akk';
- //重新赋值
- if(true){
- var a='kkaNew';
- let b='akkNew';
- }
- console.log(a);//输出kkaNew
- console.log(b);//输出akk
- })();
- </script>
//说明在var定义变量的时候'{}'里面的a和外面的a是同一个,所以a的值会被覆盖掉
//使用let定义变量的时候'{}'里面的b和外面的b不是同一个,所以b的值并没有发生改变
js中let和var的区别 不懂得加QQ 2270312758的更多相关文章
- JS中let和var的区别
js中let和var定义变量的区别 let变量之前没见过,刚遇到,探探究竟. 以下转自:http://blog.csdn.net/nfer_zhuang/article/details/48781 ...
- js中 let 与 var 的区别
一: 变量提升与否 var: console.log(a); // undefined var a = 'abc'; // 这段代码实际执行顺序是: var a; //变量声明提升至当前作用域顶部 c ...
- js动态生成层方法 不懂得加QQ 2270312758
我们在WEB开发时,很多时候往往需要我们 JavaScript 来动态建立 html 元素,动态的设置相关的属性.比方说我们想要建立一个 div 层,则可以使用以下代码实现.一.直接建立 functi ...
- 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; ...
- JS中isPrototypeOf 和hasOwnProperty 的区别 ------- js使用in和hasOwnProperty获取对象属性的区别
JS中isPrototypeOf 和hasOwnProperty 的区别 1.isPrototypeOf isPrototypeOf是用来判断指定对象object1是否存在于另一个对象object2的 ...
- (网页)Angular.js 中 copy 赋值与 = 赋值 区别
转自st.gg Angular.js 中 copy 赋值与 = 赋值 区别 为什么用 $scope.user = $scope.master; $scope.master 会跟着 $scope.use ...
- js中的substr和substring区别
js中的substr和substring区别 Substring: 该方法可以有一个参数也可以有两个参数. (1) 一个参数: 示例: var str=“Olive”: str.substring( ...
- JS 中的require 和 import 区别整理
ES6标准发布后,module成为标准,标准的使用是以export指令导出接口,以import引入模块,但是在我们一贯的node模块中,我们采用的是CommonJS规范,使用require引入模块,使 ...
- 浅谈JS中的!=、== 、!==、===的用法和区别 JS中Null与Undefined的区别 读取XML文件 获取路径的方式 C#中Cookie,Session,Application的用法与区别? c#反射 抽象工厂
浅谈JS中的!=.== .!==.===的用法和区别 var num = 1; var str = '1'; var test = 1; test == num //tr ...
随机推荐
- FileInputStream与BufferedInputStream的对比
FileInputStream inputStream = new FileInputStream("d://vv.mp4"); FileOutputStream outputSt ...
- hystrix 请求合并(6)
hystrix支持N个请求自动合并为一个请求,这个功能在有网络交互的场景下尤其有用,比如每个请求都要网络访问远程资源,如果把请求合并为一个,将使多次网络交互变成一次,极大节省开销.重要一点,两个请求能 ...
- shell与export命令
围绕以下几个问题来学习export命令: 1.什么是export命令? 2.为什么要用export命令? 3.怎么使用export命令? 1.什么是export命令? ♦ 用户登录到Linux系统后, ...
- 谈谈 ANR 之 Service 超时
1. 核心源码 关键类 路径(/frameworks/base/) ActiveServices.java services/core/java/com/android/server/am/Activ ...
- js模块化 javascript 模块化 闭包写法 闭包模块化写法
var main = main || {}; ; (function (main) { 'use strict'; //私有变量 var _s1 = 'Hello '; var _s2 = 'Worl ...
- Docker 集群
1. 理解swarm swarm(译:集群) 一个swarm是一组运行着Docker的机器,它们一起加入到一个集群.swarm中的机器既可以是物理机,也可以是虚拟机.在加入到一个swarm后,每台机 ...
- 【STM32H7教程】第4章 STM32H7工程模板建立(MDK5)
完整教程下载地址:http://forum.armfly.com/forum.php?mod=viewthread&tid=86980 第4章 STM32H7工程模板建立(MDK5) 本章 ...
- 自学java难吗?一个JAVA学习者应该具备的素质
无论是在校的学生也好,还是转行的也好,如今学JAVA开发的人越来越多,造成了如今新手越来越多,有人说前端饱和了,JAVA饱和了,JAVA才刚开始以一种好的势头发展就饱和了.我也是无语,一般说饱和的人, ...
- 一名合格的Web安全工程师之成长路径
最近经常听到公司的招聘专员反馈应聘者简历“水分”太大,尤其是技术岗位,例如Web安全工程师,明明是初级阶段的菜鸟,就敢写资深Web安全工程师:在几个项目做一些基础打杂的工作,就敢写带过团队,项目经验丰 ...
- 一份完整的阿里云 Redis 开发规范,值得收藏!
来源:yq.aliyun.com/articles/531067 作者:付磊-起扬 本文主要介绍在使用阿里云Redis的开发规范,从下面几个方面进行说明. 键值设计 命令使用 客户端使用 相关工具 通 ...