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有什么区别】希望本文对理解这两个语句之间的区别有所帮助。
推荐阅读
- JS框架与VanillaJS(使用还是不使用框架())
- 我的软考历程网络规划师
- 软考过后看软考
- 网工在路上--一文弄懂MSTP协议
- 246期门诊集锦专家解析(软考重点难点及应试技巧)
- 走在软考的小路上
- 华为ENSP模拟器安装和使用技巧-超详细
- 那些年,我所经历的软考
- 软考网络工程师总结