JavaScript 回顧學習:變量

第一篇回顧學習,變量es6

什麼是變量

變量就是在內存中刨一個坑存「一個」數據,再給這個坑起個名。
爲何要給「一個」加引號呢,由於JavaScript是鬆散類型的,即一個變量能夠用來保存任何類型的數據。
變量的分類:
全局變量:能夠在任何地方使用的變量;
局部變量:在函數內聲明的變量只在函數內有定義,做用域是局部性的segmentfault

何時使用

當一個數據須要被反覆使用時,就要先保存在變量中。函數

怎麼用

聲明變量

var 變量名
例:var keng
這樣我就聲明瞭一個叫keng的變量;變量名有必定的要求大概總結爲一下幾點學習

  1. 不能以數字開頭
  2. 語義化
  3. 不能用保留字

在es6中還有兩種聲明變量的方式(IE11)
let:聲明塊級做用域的變量,通俗的理解就是花括號就是它的做用域
const:聲明常量:需在聲明時直接賦值,聲明爲基礎類型不可改變。聲明爲引用類型不可重寫。spa

賦值

keng = '坑'
將上文中聲明的keng賦值爲字符串'坑'
也能夠在聲明時直接賦值變量,如:var keng2 = '第二個坑'
不通過聲明也能夠直接賦值變量,但不推薦這麼作,由於這樣的變量會默認爲全局變量(在嚴格模式下會報錯)
keng3 = '沒有聲明就賦值的第三個坑是沒有靈魂的坑'
若是僅聲明而沒有賦值的變量,默認值爲:undefined 在後面數據類型會詳細說~。~
能夠同時聲明多個變量,並直接賦值,用逗號隔開便可。如上文中的三個坑能夠這樣寫code

var keng = '坑',
    keng2 = '第二個坑',
    keng3 = '沒有聲明就賦值的第三個坑是沒有靈魂的坑'

能夠寫成一行,這樣寫是爲了提升可讀性圖片

變量做用域

上文中說到的全局變量和局部變量即爲變量做用域的基本概念
須要注意的是ip

  1. 局部變量的優先級高於同名的全局變量,即若是在函數內聲明一個局部變量或者函數參數中帶有的變量和全局變量重名,那麼全局變量會被局部變量所遮蓋。內存

    var keng = '坑是個好坑,能不能用就不知道了';
    function changeKeng(){
        var keng = '好坑也不用你';
        return keng;
    }
    changeKeng();  // '好坑也不用你'
  2. 聲明提早
    在局部做用域聲明變量的時候會將變量提高至當前做用域的頂部。
    敲個栗子:作用域

    var keng = '這是個全局的坑';
    function quanyikuaidi(){
        console.log(keng);   // 輸出 'undefine' 而不是 '這是一個全局的坑'
        var keng = '圈一塊地裏的坑';
        console.log(keng);   // 輸出 '圈一塊地裏的坑'
    }

    以上代碼等同於

    var keng = '這是個全局的坑';
    function quanyikuaidi(){
        var keng;               // 在函數頂部聲明變量 keng
        console.log(keng);      // 變量存在尚未賦值,默認值爲undefined
        keng = '圈一塊地裏的坑'; // 給變量 keng 賦值
        console.log(keng);      // 輸出 '圈一塊地裏的坑'
    }

結語

到這裏變量的部分就OK了,其餘的部分敬請期待了,目錄傳送門 ,沒有鏈接的證實本寶寶還沒寫,哈哈哈哈哈
本人公衆號二維碼歡迎關注哈:
圖片描述

相關文章
相關標籤/搜索