關於js的變量提升問題
阿新 • • 發佈:2019-01-01
函數 window 自動 變量提升 ons cti 例子 提升 nbsp
1.關於變量提升;
例子一:console.log(a) //undifined;
var a=0;
例子二:
console.log(a) //undifined;
if(true){
var a=0;
}
console.log(a) //0;
例子三:
console.log(a) //undifined;
if(!true){
var a=0;
}
console.log(a) //undifined;
以上;只要js中聲明了變量,不管什麽條件,都會自動提升到代碼最開始的位置;
迷惑煙霧彈
if(!("a" in window)){
var a=0
}
console.log(a)//undifined; 第一還是變量提升;第二(“a” in window)為“true”
-------------------------------------------分割線----------------------------------------------------------------------
2.函數提升
console.log(f1) //function f1(){}
console.log(f2) //undifined;
function f1(){} //函數會提升到文件最開始的位置
var f2=function(){} //變量會提升
關於js的變量提升問題