javascript中变量声明中LET和VAR有什么区别

var和let是简单的声明符, 允许在作用域中声明变量。
让我们的工作非常像var。主要区别在于var变量的范围是整个封闭函数。
但是, 这到底意味着什么?例如 :
假设我们有10个具有10个不同id的按钮, 但它们都遵循前缀” thebutton” 。

// Using VARfor(var i=1; i< 10; i++) {$("#thebutton" + i).click(function () {                     alert(i);   }); }

变量i将在按钮的单击功能范围内作为i的参考。这意味着, 如果你单击任何按钮, 该值将始终为10。
'use strict'; // We need to set use strict, because all the Block-scoped declarations (let, const, function, class) are not yet supported outside strict mode// Using letfor(let i=1; i< 10; i++) {    $("#thebutton" + i).click(function () {            alert(i);       }); }

玩这个例子:
历史是另一回事!由于let指令, 每个按钮都会连续提醒其编号。
真的很简单不是吗? let将仅在其块范围内应用!
{ // Start block// let will be useful here !// End Block}

如果你还不了解, 请尝试另一个示例:
'use strict'; var country = "russia"; var a = 5; var b = 10; if (country === "russia") {  let a = 50; // A will be 50 only in russia !  var b = 1; // Will be applied globally, B will be change in all the world !  console.log(a);   // 50  console.log(b);   // 1}// We are outside russia !!!console.log(a); // a will be 5 again !console.log(b); // 1

【javascript中变量声明中LET和VAR有什么区别】希望本文对理解这两个语句之间的区别有所帮助。

    推荐阅读