點一下看兩眼,聲明變量教你辯

主要知識點

當頁面一打開js代碼首先要從上到下執行,先把整個js瀏覽一遍,把其中帶 var 和 function 的提早聲明一下 var 是隻聲明不定義, function 而是聲明定義。

什麼是聲明,什麼是定義?函數

var:例如咱們創建一個 
                var a = 10;
                var a;這就是聲明
                a = 10;這就是定義
    var 在最開始執行時只會聲明,但不會定義,而賦予的默認值則會是undefined,簡單來說就是說會記住
    a,可是a是什麼並不會記住,因此默認是undefined。
    
function:咱們創建一個函數
                function f(){
                console.log(666)
                }
                f()
    function 聲明的函數在代碼執行以前早就已經存在了因此在整個js的任意位置均可以執行。
複製代碼

咱們看一個簡單的例子,來理解 var 和 function 的區別

用 var 和 function 都創建一個函數,在他們上面輸出:
複製代碼

很明顯就能看出 var 和 function 的區別,function 提早聲明定義因此哪裏均可以輸出,而 var 則會是 undefined。

function的特殊狀況

咱們剛纔說了 function 即聲明又定義可是在{}塊級做用域中 只聲明不定義,聲明不定義 給的默認值都是undefined。spa

通常會出如今 for、if.....這些塊級做用域中
    例如:
            console.log(f)
            for(var i=0;i<3;i++){
            function f(){
            }
            }
複製代碼

結果是undefined,在塊級做用域中只聲明不定義,一樣在條件句中的代碼也會進行變量提高 無論條件是否成立對於
帶function 的變量這時也只有聲明沒有定義。
複製代碼

這就是聲明變量的基本內容,我也會常常更新JS其餘知識概要,一塊兒提升。

相關文章
相關標籤/搜索