es6系列所有文章都是阅读阮一峰老师的《ES6标准入门》(第2版)所做的读书笔记。方便日后查阅相关基础知识。

git地址: https://github.com/rainnaZR/es6-study

变量声明方法

es6的变量声明方面包括: let, const, var, function, import, class。

let变量声明

  • 不存在变量提升,变量一定要在声明后才能使用,也就是变量声明前,变量都是不可用的。
  • 不允许重复声明。
  • 拥有块级作用域,一个大括号就是一个块级作用域。

const变量声明

  • 不存在变量提升,变量一定要在声明后才能使用,也就是变量声明前,变量都是不可用的。
  • 不允许重复声明。
  • 拥有块级作用域,一个大括号就是一个块级作用域。
  • const变量声明常量,声明之后值不能更改。
  • 指向引用类型的变量时,只指向数据存放的地址,不指向实际的数据。
  • 全局变量的属性使用 var 来声明。
/*
* for循环场景
* */
function constset(index) {
var a = [];
for(var m=0;m<index;m++){
a[m] = function(){
console.log('var:' + m);
}
}
a[0]();
a[1]();
a[2]();
a[3]();
a[4](); for(let n=0;n<index;n++){
console.log('let:' + n);
}
} constset(5);//输出: var:5 var:5 var:5 var:5 var:5 let:0 let:1 let:2 let:3 let:4 /*
* 块级作用域
* */
function test(){
let n = 5;
if(true){
let n = 10;
console.log('n:' + n);
}
console.log('n:' + n);
} test(); //输出: n:10 n:5

es6系列-变量声明的更多相关文章

  1. es6 快速入门 系列 —— 变量声明:let和const

    其他章节请看: es6 快速入门 系列 变量声明:let和const 试图解决的问题 经典的 var 声明让人迷惑 function demo1(v){ if(v){ var color='red' ...

  2. ES 6 系列 - 变量声明

    let 和 const let 声明 (一)基本用法 let 声明的变量只在块级作用域内有效,出了该块则报错,最常见且适合的地方在 for 循环中: var a = []; for (var i = ...

  3. es6 新增变量声明方式

    let 与 var var var声明的变量拥有全局作用域或者局部作用域 在全局中声明变量即为全局变量 在函数中声明变量即为局部变量 而var在使用过程中也逐渐暴露出许多问题 var的几大问题 变量提 ...

  4. es6系列-变量的解构赋值

    git地址: https://github.com/rainnaZR/es6-study/tree/master/src/destructuring 变量的解构赋值 变量的解构赋值: 数组, 对象, ...

  5. Nodejs与ES6系列1:变量声明

    1.声明变量 在JS当中一个变量的作用域(scope)是程序中定义这个变量的区域.变量分为两类,全局(global)的和局部的.其中全局变量的作用域是全局性的,即在JavaScript代码中,它处处都 ...

  6. ES6系列之变量声明let const

    ES6也出来好久了,最近闲来无事就想着吧es6做一个系统的总结,巩固自己的知识,丰富一下博客. 为什么叫ES6 实际上是ECMA的一个打的标准,这个标准是在2015年6月发布的,正式的名字实际是es2 ...

  7. es6变量声明和解构赋值

    /*声明: * 本文内容多为学习借鉴性内容,大部分非原创 * 特别感谢阮一峰的 ECMAScript6 入门,推荐大家学习 */ 一.es5变量声明的不足 1.变量提升和函数声明提升 es5的代码加载 ...

  8. ES6和ES5变量声明的区别(var let const)

    // es5的语法与es6的语法区别 // var let const console.log(name);//undefine,不会报错,因为变量声明会提到作用域的最前面 var name=&quo ...

  9. ES6 let const 声明变量 块级作用域

    ES6 中除了使用 var 定义变量,还有let.const,定义变量. function getValue(condition){ console.log(typeof value2); // un ...

随机推荐

  1. NTC温度采集之数据拟合——freemat软件实现

    在stm32温度采样的过程中,使用到了NTC传感器,上拉接6.2K的电阻,信号给AD采样端口,通过NTC的电阻阻值表中,计算得到下面两端数据,在freemat中实现数据拟合,用于程序中温度和电压信号的 ...

  2. The 2018 ACM-ICPC Chinese Collegiate Programming Contest Moving On

    Firdaws and Fatinah are living in a country with nn cities, numbered from 11 to nn.Each city has a r ...

  3. ADT操作实例

    ps.1.put(rank,value) 把当前rank的元素的数值修改 2.get(rank)获取rank的元素 3.remove(value)把向量中value剔除掉 4.size()返回元素个数 ...

  4. virtual 三种用法

    virtual用法一 #include using namespace std;class A{public:     virtual  void  display(){  cout<<& ...

  5. Asp.net HttpWebRequest和HttpWebResponse发送和接受任何类型数据

    发送字符串数据发送数据 string strId = "guest"; "; string postData = "userid=" + strId; ...

  6. tab选项卡不同样式的效果

    一般的tab选项卡就只能两种样式,一种是选中或者是划过这个选项卡样式,一种是没选中或者没划过选项卡样式. 现在有这种需求,就是选中或划过tab选卡要不同样式.比如tab1选中或者划过是红色,tab2选 ...

  7. Selenium WebDriver-打开3个网址截图,文件夹用年月日命名,图片用当前时分秒命名

    import os import os.path import time from selenium import webdriver urls=["http://www.baidu.com ...

  8. Sonar - 部署常见问题及解决方法

    1. sonarqube启动报错,查看es.log如下: 问题原因:sonarqube不能使用root用户启动 解决方法: (1)更改sonarqube所属用户权限 chown -R gold:gol ...

  9. python-高级编程-05-异步IO

    [异步非阻塞IO] ------------------------------------------------------------------------------------------ ...

  10. [UiAutomator篇][3] 打开音乐应用的测试脚本

    package qq.test; import android.content.Context; import android.content.Intent; import android.suppo ...