JavaScript基础之JS黑洞
JavaScript中最容易忽视的一些点 let和var 都用来定义变量,但二者之间有些细微的差别 区别1: 是否有块作用域 var a = 1 { // var a=2 let a = 2 } console.log(a); //output var:a=2 let:a=1 var i=1 // for (var i = 0; i <3; i++) { for (let i = 0; i <3; i++) { //..do something } console.log(i); //output var:i=3 let:i=1 说明: 可以看出,var并没有作用域的概念,定义在特定作用于内的变量会受到作用域外的影响,let则不会 区别2:全局污染问题 console.log(window.screenLeft);//600 // var screenLeft = 1 let screenLeft = 1 console.log(window.screenLeft); //output var:1 let:600 说明: var定义的变量用window对象也可以访问,当定义一些特定的key时,会造成全局的污染!...