块作用域构造let和const
来自CloudWiki
27.211.20.154(讨论)2021年1月28日 (四) 06:34的版本 (创建页面,内容为“==let声明== ===原先的写法=== <nowiki>//函数内部 function changeState(flag){ if(flag){ var color = "red"; } else{ console.log(color); //此处可…”)
let声明
原先的写法
//函数内部 function changeState(flag){ if(flag){ var color = "red"; } else{ console.log(color); //此处可以访问变量color,其值为:undefined return null; } } changeState(false); //块中 { var a = 1; } console.log("a = " + a); //此处可以访问变量a,输出:a = 1 //for循环中 for(var i = 0; i < 10; i++){ } console.log("i = " + i); //此处可以访问变量i,输出:i = 10*/
ES6新写法
//函数内部 function changeState(flag){ if(flag){ let color = "red"; } else{ console.log(color); //此处不能访问color,报错:color is not defined return null; } } changeState(false); //块中 { let a = 1; } console.log("a = " + a); //此处不能访问变量a,报错:a is not defined //for循环中 for(let i = 0; i < 10; i++){ } console.log("i = " + i); //此处不能访问变量i,报错:i is not defined