1. let与const
2024-08-27 02:52:21
1.ES6 新增了let
命令,用来声明变量。它的用法类似于var
,但是所声明的变量,只在let
命令所在的代码块内有效。
var a = [];
for (var i = 0;i<10;i++) {
a[i] = (function(i){
return function(){
console.log(i);
}
})(i)
}
a[6]()
2.不存在变量提升
3.暂时性死区
4.不允许重复声明
5.块级作用域
6.const常量
const
实际上保证的,并不是变量的值不得改动,而是变量指向的那个内存地址所保存的数据不得改动。对于简单类型的数据(数值、字符串、布尔值),值就保存在变量指向的那个内存地址,因此等同于常量。但对于复合类型的数据(主要是对象和数组),变量指向的内存地址,保存的只是一个指向实际数据的指针,const
只能保证这个指针是固定的(即总是指向另一个固定的地址),至于它指向的数据结构是不是可变的,就完全不能控制了。因此,将一个对象声明为常量必须非常小心。
最新文章
- neo4j-jersey分嵌入式和服务式连接图形数据库
- day4(homework)
- 深入理解Java的接口和抽象类(转)
- cf之路,1,Codeforces Round #345 (Div. 2)
- 数位DP GYM 100827 E Hill Number
- tidyr包--数据处理包
- 【Asp.Net】Asp.Net CommandName作用
- Linux多线程同步机制
- 【BZOJ1011】【HNOI2008】遥远的行星
- Android 与 Webservice 的快速保存
- 跨站脚本攻击(XSS)
- Android内核驱动程序的编写和编译过程
- 指针与数据结构算法_链表(C语言)
- 洛谷P1919 【模板】A*B Problem升级版 题解(FFT的第一次实战)
- erlang 删除老版本 安装新版本
- hdfs数据采集场景示意图
- Django REST Framework API Guide 05
- [Oracle] “表中有数据,但select count(*)的结果为0”问题的解决办法
- 将打印(printk/printf)及时写入文件的方法
- Qt Creator中如何选择某个子项目为启动项目