JS习题

在es6中,下面程序运行结果输出,选项结果正确的是:

1 for(let i = 0;i < 12; i++){}   console.log(i);

2 const a = 12; a = 13;console.log(a);

3 const g = {b:3};console.log(g.b);g.b = 12;console.log(g.b);

4 let[head,...tail] = [1,2,3,4]; console.log(tail);

 

A.11,13,3,12,[3,4]

B.i not defined ,TypeError,TypeErrpr,4

C.11,12,3,3,4

D.i not defined,TypeError,3,12,[2,3,4]

 

分析:1、let 与var不同,存在块级作用域,在for循环中声明,循环之外销毁 所以 i not defined

2、const 声明一个常量无法更改,所以TypeError

3、const命令只是保证变量名指向的地址不变,并不保证该地址的数据不变,也就是只要指向这个函数,更改函数内部的属性值是可以的。

4、数组解构赋值,模式匹配,具体可参考http://es6.ruanyifeng.com/#docs/destructuring

posted @ 2019-07-16 22:04  热爱前端的韩梅梅  阅读(204)  评论(0编辑  收藏  举报