一: 变量提升与否

  var:

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

  let:

console.log(a); // 报错: a is not defined
let a = 'abc'; // 这里, 用let声明变量, 变量声明不会提升, 完全按照文档流的执行顺序走

二:作用域问题

  var:

for (var i = 0; i<10; i++) {
// code..
}
console.log(i); // 输出 10

  let:

for (let i = 0; i<10; i++) {
// code..
}
console.log(i); // 报错: i is not defined // let 作用于 代码块 {}

获取更过 点击这里

js中 let 与 var 的区别的更多相关文章

  1. JS中let和var的区别

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

  2. js中let和var的区别 不懂得加QQ 2270312758

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

  3. 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; ...

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

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

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

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

  6. js中的substr和substring区别

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

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

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

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

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

  9. JS中const、var 和let的区别

    今天第一次遇到const定义的变量,查阅了相关资料整理了这篇文章.主要内容是:js中三种定义变量的方式const, var, let的区别. 1.const定义的变量不可以修改,而且必须初始化. 1 ...

随机推荐

  1. CentOS7 firewall开启,开放端口操作

    防火墙开机启动 systemctl enable firewalld.service 查看防火墙状态 firewall-cmd --state 开启防火墙 systemctl start firewa ...

  2. securecrt通过ssh连接板子: 密钥交换失败,没有兼容的加密程序

    在用securecrt连接板子时遇到如下问题: 需要修改板子上的/etc/ssh/ssh_config和/etc/ssh/sshd_config. 修改/etc/ssh/ssh_config,取消下面 ...

  3. C# StreamReader.ReadLine统计行数的问题

    要实现一个功能: 从 lua 文件中提取字符串放到 excel 中,再将 excel 给海外同事,翻译完成后,用翻译的文本替换相应中文. 整个功能并不复杂,要点有二点: 1.提取字符串,一行中文如&q ...

  4. Android 模拟器启动不了-问题解决方案

    一.Android 模拟器启动不了问题解决方案 在安装Android开发环境时,首先安装java虚拟机,然后下载android adk 管理android虚拟机. 在完成工作后,添加android的虚 ...

  5. CentOS 7最小安装之后应该尽快做好的几件事情

    1        导言 CentOS的最小系统仅包含内核和必要的工具,派不上多大用处,以后还得安装很多附加软件.为了方便以后的工作,还需要对系统做一些调整和补充. 本文涉及的工作均应以root身份执行 ...

  6. linux 杀死进程

    列车进程 ps -ef 杀死进程 - 后面是pid kill 1234356

  7. LeetCode: Gray Code [089]

    [题目] The gray code is a binary numeral system where two successive values differ in only one bit. Gi ...

  8. Xcode10.1 import头文件无法索引

    如下路径,修改设置 Xcode --> File --> Workspace Settings --> Build System --> Legacy Build System

  9. 词向量可视化--[tensorflow , python]

    #!/usr/bin/env python # -*- coding: utf-8 -*- """ ---------------------------------- ...

  10. python sphinx 文档自动生成方法

    ## sphinx 生成开发文档#### 配置 1. 运行如下命令,即可生成 conf.py index.rst Makefile 三个文件: `sphinx-quickstart` 2. conf. ...