【JavaScript23】使用let声明变量
前言
- ES2015(ES6) 新增加了两个重要的 JavaScript 关键字: let 和 const。
- let 声明的变量只在 let 命令所在的代码块内有效。
- const 声明一个只读的常量,一旦声明,常量的值就不能改变。
- 在 ES6 之前,JavaScript 使用var声明变量只有两种作用域: 全局变量 与 函数内的局部变量。
let 声明变量作用域
- 使用let声明的变量,首先具有块级作用域的概念,在块级代码声明的变量,外面无法引用
- 什么是块级作用域?
- 比如if 后面大括号的内容,for 循环大括号里面的循环体,都是块级。
a = 10;
if (a>0){
let x = 'hello'; // let 声明块级变量
console.log(x);
}
console.log(x); // x is not defined
//如果块级代码外面也有同一个名称变量,使用let互不影响
a = 10;
let x = 'world'
if (a>0){
let x = 'hello'; // let 声明块级变量
console.log(x); // hello
}
console.log(x); // world
let 和 var 不一样的地方
// 1、var 可以对同一个变量重复声明,但是let不能重复声明
// 使用 var
var x = 'hello';
var x = 'world';
console.log(x); // world
// 使用let
let y = 'world';
let y = 'world'; // 报错
//2、变量提升,let 声明的变量没有提升
console.log(x) // undefined
var x = 'hello'
console.log(y) // 报错
let y = 'world';
//3、全局作用域
//使用 var 关键字声明的全局作用域变量属于 window 对象:
//使用 let 关键字声明的全局作用域变量不属于 window 对象:
var x = "hello";
// 可以使用 window.x 访问变量
let y= "world";
// 不能使用 window.y访问变量
分类:
JavaScript
标签:
JavaScript
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
2022-08-07 【pytest】项目设计
2022-08-07 python之高级函数