JS---变量提升注意点

91 阅读1分钟

全局上下文中的变量提升

//EC(G)在全局上下文中的变量提升
	=> 不论条件是否成立,都会进行变量提升(细节点:条件中带FUNCTION的  
    在新版本浏览器中只会提前声明,不会再提前赋值了。)
    【老版本浏览器】
    	var a;
        fun=函数
     【新版本浏览器】
     	var a; 在全局上下文中声明一个变量a,也相当于window.a ,值都是undefined
        func 
        
注意:var function 的声明式自上而下,没有谁的优先级高这种说法,另外浏览器很懒,声明过得不会再执行。
console.log(a,func)
if(!('a' in window)){
	var a = 10;
    function func(){}
}