js里的局部变量与全局变量以及变量提升(var)

全局变量:在全局范围内定义的变量,或者在函数里不适用var定义的变量。

局部变量:在函数里用var定义的变量

变量提升:变量声明总是会被解释器“提升”到函数体的顶部(顶部的提升变量不会给他赋值),也就是提前装载。

 

局部变量会覆盖全局变量

html的事件处理也是可以用js的全局变量

 

js只认函数体的花括号,不认其他如if的花括号,所以只有在函数体里的var才是局部变量,也就是说,局部变量只要不出函数体花括号都可以用。所以var没有块范围,但let有

 

如果使用var定义变量,程序会强制定义一个新变量

如果没有使用var的话,如果全面有同名的全局变量,就是给前面的赋值,没有就定义一个新变量

 

var定义的变量默认会把它作为window里的一个属性(全局的函数,全局的变量都是属于window的属性的)可以window.变量输出

let不会把它作为window的属性

 

var可以使用window属性输出,更加灵活,如想要输出index+i时,就可以用window["index"+i]来输出

window.index和window["index"]是一样的。

 

 

相关推荐
©️2020 CSDN 皮肤主题: 数字20 设计师:CSDN官方博客 返回首页