js變量聲明提升


 JS程序執行前,會將使用var聲明的變量提升到所在作用域的最前邊;

  賦值還是在原來位置;

 

 

******

案例1

******

 

**  var c=3

 

**  function fun(){

 

**  c=5;

 

**  var d=9;

 

**  };

 

**  console.log(c);//3

 

**  console.log(d);//找不到d,因為加了var;

 

**  fun();

 

**  console.log(c);//5

 

**************************************

 

*****

案例2

*******

**  console.log(a);

**  var a=1;//undefined;

**************************************

 

******

案例3

******

**  var c=3;

**  function fun(){

**    console.log(c);

**    var c=5;

**  };

**  fun(c);//undefined;

**  

**  var d=3;

**  function fun(){

**    console.log(d);

**    d=5;

**  };

**  fun(d);//3

**************************************

解釋如下:

作用域

    變量和函數的可訪問范圍,分為兩種

第一種:函數作用域

***在函數中使用var關鍵字聲明的變量,只能在函數的內部訪問;

第二種:全局作用域

    ***在函數的外部使用var聲明的變量,可以在任意位置訪問;

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM