es6 中let与const的简析
2024-09-06 13:37:17
1、let
它的作用类似于var,用来声明变量,但是所声明的变量,只在let命令所在的代码块内有效。
if(true){ var a = ; let b = ; } document.write(a); document.write(b); // 报错:ReferenceError: b is not defined
体会下let和var的作用域范围:
function f1() { var a = ; let n = ; if (true) { let n = ; var a = } document.write(n); // document.write(a); // } f1();
2、let的应用
for循环的计数器,就很合适使用let命令。
var a = []; for (let i = ; i < ; i++) { a[i] = function () { document.write(i); }; } document.write(a[]()); //
如果把let换成var ,将输出10。这是由于let的块级作用域。
3、const
a、const 声明的是常量,一旦声明,值将是不可变的。
const PI = 3.1415; PI // 3.1415 PI = ; PI // 3.1415 const PI = 3.1; PI // 3.1415
b、const 也具有块级作用域
if (true) { const max = ; } document.write(max); // ReferenceError 常量MAX在此处不可得
c、const 不能变量提升(必须先声明后使用)
if (true) { document.write(MAX); // ReferenceError const MAX = ; }
d、const 不可重复声明
var message = "Hello!"; let age = ; // 以下两行都会报错 const message = "Goodbye!"; const age = ; const 指令指向变量所在的地址,所以对该变量进行属性设置是可行的(未改变变量地址),如果想完全不可变化(包括属性),那么可以使用冻结。 const C1 = {}; C1.a = ; document.write(C1.a); // C1 = {}; // 报错 重新赋值,地址改变 //冻结对象,此时前面用不用const都是一个效果 const C2 = Object.freeze({}); C2.a = ; //Error,对象不可扩展 document.write(C2.a);
最新文章
- C语言基础(11)-随机数发生器
- POJ2288 Islands and Bridges(TSP:状压DP)
- csipsimple 下载地址
- WindowsForm 记事本 对话框
- idea中使用scala运行spark出现Exception in thread ";main"; java.lang.NoClassDefFoundError: scala/collection/GenTraversableOnce$class
- Redis util
- Nio学习4——EchoServer在IO,NIO,NIO.2中的实现
- Dylans loves numbers
- nodejs学习随笔
- Android Studio常用快捷键使用
- jQuery动画使用总结
- .NET Framework简介
- mysql 开发进阶篇系列 1 SQL优化(show status命令)
- 算法笔记 3.2 codeup1934 找X
- 最大值最小值(max,max_element)
- JavaScript中变量的相互引用
- UVa 1374 快速幂计算(dfs+IDA*)
- PHP语言基础之MySql 05 By ACReaper
- InputStream TO byte
- 计算机专业C语言编程学习重点:指针化难为易
热门文章
- 木卯先生的笔记---Date类、DateFormat类和Calendar类
- oracle-PL/SQL1
- Codefroces 213E. Two Permutations
- POJ2182Lost Cows
- Laravel 5.2 使用 JWT 完成多用户认证 | Laravel China 社区 - 高品质的 Laravel 开发者社区 - Powered by PHPHub
- leetcode 60-80 easy
- Python使用Pandas高效处理测试数据
- 总体<;导学>;
- HTTP之request请求(注册)
- MaxCompute 助力衣二三构建智能化运营工具