全局变量(成员变量)
在整个程序中,哪里都可以访问到的变量。
定义形式:进入script立即定义的变量和没有var的变量。
局部变量
函数内部 的变量,只有函数内部可以访问到。
定义形式:函数内部用var定义的变量和形参)
隐式全局变量
隐式全局变量就是隐藏的全局变量不好被发现。
示例:
function fn(){
var a = b = c = 1; // b和c就是隐式全局变量
}
注意:
function fn(){
var a = b = c = 1; // b和c就是隐式全局变量(等号)
var a = 1; b = 2; c = 3; // b和c就是隐式全局变量(分号)
var a = 1 , b = 2 , c = 3; // b和c就不是隐式全局变量(逗号)
}
变量声明提升(出现原因:预解析)
函数中,定义变量在使用变量之后。
只提升变量名,不提升变量值,容易出现undefined。计算后形成NaN。
变量声明提升:在预解析的时候,成员变量和函数,被提升到最高位置,方便其他程序访问。
变量声明提升特点:成员变量只提升变量名,不提升变量值。但是,函数是所有内容全部提升。(function直接定义的)
函数范围内照样会出现变量声明提升。
什么情况容易出现变量声明提升:使用变量在定义变量之前。
2 comments
Hi you , i come from langdongtamhon.blogspot.com , 我觉得我博客跟你的有一点什么的连贯,所以我想跟你交换友情链接site links, 若你有感兴趣,请联系我
有兴趣