javascript let 和 var 不同点
原文地址
https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Statements/let
http://blog.csdn.net/nfer_zhuang/article/details/48781671
let是区块级别的变量,作用域是当前花括号以内
var是函数级别的变量,使用严格模式
示例
[pcsh lang="js" tab_size="4" message="" hl_lines="" provider="manual"]
<ul id="list">
</ul>
<script type="text/javascript">
var list = document.getElementById("list");
for (let i = 1; i <= 5; i++) {
var item = document.createElement("LI");
item.appendChild(document.createTextNode("Item " + i));
// 这里用let,每次进入{} j都会重新创建并赋值
// 如果是var,他是函数级别的,创建一次后,后续会被覆盖掉
let j = i;
item.onclick = function(ev) {
console.log("Item " + j + " is clicked.");
};
list.appendChild(item);
}
</script>
[/pcsh]
[pcsh lang="js" tab_size="4" message="" hl_lines="" provider="manual"]
var varTest = 'test var OK.';
let letTest = 'test let OK.';
{
var varTest = 'varTest changed.';
let letTest = 'letTest changed.';
}
// 输出varTest changed
console.log(varTest);
// 因为let在自己的花括号以内有作用域,所以值不会被改变
// 如果注释第一个let则会报错,因为第二个let变量只在他的括号内有效
console.log(letTest);
[/pcsh]
最后更新于 2017-03-17 15:58:08 并被添加「」标签,已有 694 位童鞋阅读过。
此处评论已关闭