// 使用 var 声明变量
var x = 10;
function testVar() {
var x = 20;
if (true) {
var x = 30; // var 变量在函数或全局作用域中有效,没有块级作用域
console.log('Inside if block: ' + x); // 输出: Inside if block: 30
}
console.log('Inside function: ' + x); // 输出: Inside function: 30
}
testVar();
console.log('Global scope: ' + x); // 输出: Global scope: 10
// 使用 let 声明变量
let y = 10;
function testLet() {
let y = 20;
if (true) {
let y = 30; // let 变量具有块级作用域
console.log('Inside if block: ' + y); // 输出: Inside if block: 30
}
console.log('Inside function: ' + y); // 输出: Inside function: 20
}
testLet();
console.log('Global scope: ' + y); // 输出: Global scope: 10
var 声明的变量在函数或全局作用域中有效,没有块级作用域(即 {} 内部)。因此,在 if 语句块内的 var 变量会提升到整个函数作用域。let 声明的变量具有块级作用域(即 {} 内部),这意味着在 if 语句块内声明的 let 变量只在该块内有效。上一篇:js let var
下一篇:js use strict
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站