美文网首页
es6-----let 和 const

es6-----let 和 const

作者: 洋洋袁 | 来源:发表于2018-10-11 17:40 被阅读0次

let

let 声明的变量会被提前,但是不被初始化赋值,所以赋值前不会打印

alert (a);

var a = 9;

alert的值是undefined.

alert(b);

let b = 9;

会报错.

输出10个从0-9的数字

var funcs = [];

for (var i = 0;i < 10;i++) {

    funcs.push( function () {

    console.log(i);

})

}

遍历执行funcs,打印10个10;这是因为i是个全局变量,每次在大括号中执行往数组中添加元素的时候,其实i都递增了

for (let i = 0;i < 10;i++){

    func.push(() = > {

    console.log(i);

})

}

遍历执行依次0-9;这是因为每个i都会进入循环体代码块,然后就是一个独立的个体,不在与其他的i产生联系.这里我最开始疑惑的是,i应该被提升到了全局,还是一个全局的变量,只能猜测也许是和函数作用域执行环境那样,i进去就被复制并在代码块内部重新声明了一个i,且值是上一个++.

const

const用来声明静态变量,其值是不能变化的.

相关文章

  • es6-----let 和 const

    let let 声明的变量会被提前,但是不被初始化赋值,所以赋值前不会打印 alert (a); var a = ...

  • const

    NSString *const 和 const NSString * 的区别 NSString *const 变量...

  • Boolan-C++面向对象高级编程(下)第二周笔记

    1. const 上表中:由于成员函数的const和非const同时存在,const对象只能调用const成员函数...

  • let和const

    新的赋值语句let和const let和const命令

  • const *和* const的区别

    1.const *是指向常量的指针,不能通过指针修改指针所指的值,但是可以修改指针所指的地址 2.* const ...

  • 底层const和顶层const

    忽略顶层const int *const p1=&i;//不能修改p1;const 是顶层const const ...

  • 顶层const和底层const

    指针是一个对象,占据内存空间,而指针本身可以指向另一个对象,这就导致指针是常量和指针指向的对象是常量是两个不同的概...

  • const int * 和 int * const

    a的const是底层const,修饰的是int,意思是a可以指向别的变量,但a当前指向的变量的值不能通过a改变;b...

  • C++中const和#define的利弊探索

    const和#define的利弊,从而推导const的意义; const和#define都有类似的功能,那就是定义...

  • 工作中常用的 ES6 语法

    变量声明 let 和const 不用var, 用const声明只读变量,let声明变量。let和const都是块级...

网友评论

      本文标题:es6-----let 和 const

      本文链接:https://www.haomeiwen.com/subject/jjzbaftx.html