let 允许通过将变量的范围限制在使用它们的块、语句或表达式来声明变量。这将 let 表达式与 var 关键字区分开来,后者在函数中定义全局或局部变量,而不管块的范围。
让 vs var
当我们在块中使用 let 时,我们可以将变量的范围限制在该块中。注意 a 和 var 之间的区别,它们的作用域位于声明变量的函数内。
var a = 5;
var b = 10;
if (a === 5) {
let a = 4; // El alcance es dentro del bloque if
var b = 1; // El alcance es global
console.log(a); // 4
console.log(b); // 1
}
console.log(a); // 5
console.log(b); // 1
{
let variable_let = 'valor variable let';
var variable_var = 'valor variable var';
console.log('var dentro de bloque: ' + variable_var);
console.log('let dentro de bloque: ' + variable_let);
}
console.log('var fuera de bloque: ' + variable_var);
console.log('let fuera de bloque: ' + variable_let);
function cualquiera(){
if (2 == 2){ // por poner algo
var variable1 = 1
let variable2 = 2
}
// aqui variable1 existe
// aqui variable2 no existe
console.log(variable1)
}
let 允许通过将变量的范围限制在使用它们的块、语句或表达式来声明变量。这将 let 表达式与 var 关键字区分开来,后者在函数中定义全局或局部变量,而不管块的范围。
让 vs var
当我们在块中使用 let 时,我们可以将变量的范围限制在该块中。注意 a 和 var 之间的区别,它们的作用域位于声明变量的函数内。
资料来源:开发商Mozilla
let
通过将其范围限制为它所在的执行块、表达式或语句来定义局部变量。这是一项非标准功能,因此可能会在不同的浏览器中引起问题。var
通过将变量的范围限制在定义它的函数或全局范围(如果它不在函数内部)来定义变量,而不管它在哪个执行块中执行。几个,但最重要的与范围有关:
这个想法(恕我直言)是您
var
用于模块私有的let
东西和函数本地的东西。