{
var a = 12; //var 会默认提升
let b = 15;
}
//console.log(a,b) //结果 12 ,undefined;
{
var a = 12;
let b = 15;
{
console.log(a,15) //结果 12 ,15;
}
}
// 泄密
for(var i=0;i<5;i++){}
console.log(i) //可以被访问到
for(let i=0;i<5;i++){}
console.log(i) //不可以被访问到
//提升
function f(){
//运行是变量会默认被提升 var a;
//如果是let a 则会报错,也就是说let不会被提升
console.log(a);
var a = 12;
}
f();
//
var a = 12;
function f(){
//因为函数内部含有a ,外部得a会被失效 ,所以会报错 a没有定义
console.log(a);
let a = 12;
}
//
{
let a;
//let a;//不可以被重复定义
}
//代替立即执行
/*var config = (function(){
var config = [];
config.push(1)
})()
*/
let config;
{
config.push(1)
}
//es6 函数不被提升
es 6 之 let
最新推荐文章于 2022-07-28 18:00:38 发布