首頁 > web前端 > js教程 > 主體

javascript的必包詳解

php中世界最好的语言
發布: 2018-03-16 17:06:39
原創
1732 人瀏覽過

這次帶給大家javascript的必包詳解,使用javascript注意事項有哪些,以下就是實戰案例,一起來看一下。

閉包,這個名字好奇怪,
言歸正傳,先說一下js函數變數作用域
以下範例全部基於局部變數

函數內部存取函數外部變數

demo1:
   var a = 100;    function get() {        console.log(a)    }    get();    // 运行结果:100
登入後複製

在demo1例子中,變數a是在函數外部宣告的,在函數get()當中是可以呼叫的,呼叫get()函數,在瀏覽器控制台會輸出100,也就是a的值。

函數外部存取函數內部聲明的變數

demo2:
   function get() {        var a = 100;    }    get();    console.log(a);    //运行结果:ReferenceError: a is not defined
登入後複製

在demo2例子中,變數a在函數get()中聲明,執行函數get()執行後,呼叫變數a,在控制台輸出:ReferenceError: a is not defined(a沒有被定義),可見,在函數外部是無法直接呼叫函數內部宣告的變數的。
難道就沒辦法得到到函數內部到變數來麼?當然不是,這時候閉包就派上用場來,看如下代碼:

   function get() {        var a = 100;        return function () {            return a;
        }
    }    var b = get();    console.log(b);    //运行结果:
    /* function () {
        return a;
    }*/
    console.log(b());    // 运行结果:100
登入後複製

函數get()中返回一個函數,這個函數返回你想要得到到變量,然後在函數外部就可以透過get()()就可以得到到函數內部到變數的值了,

以上是javascript的必包詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板