1. 程式人生 > >關於js的變量提升問題

關於js的變量提升問題

函數 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的變量提升問題