JS重要知識點總結-不完善

來源:互聯網
上載者:User

標籤:一個   存在   變數   style   調用   eth   全域變數   回調   justify   

###1、閉包

??閉包就是能夠讀取其他函數內部變數的函數。由於在Javascript語言中,只有函數內部的子函數才能讀取局部變數,因此可以把閉包簡單理解成"定義在一個函數內部的函數"。所以,在本質上,閉包就是將函數內部和函數外部串連起來的一座橋樑。`閉包的作用是為了防止全域變數泛濫`。

 

*`使用閉包的注意點:`*

 

* 1)由於閉包會使得函數中的變數都被儲存在記憶體中,記憶體消耗很大,所以不能濫用閉包,否則會造成網頁的效能問題,在IE中可能導致記憶體泄露。解決方案是,在退出函數之前,將不使用的局部變數全部刪除。

* 2)閉包會在父函數外部,改變父函數內部變數的值。所以,如果你把父函數當作對象(object)使用,把閉包當作它的公用方法(Public Method),把內部變數當作它的私人屬性(private value),這時一定要小心,不要隨便改變父函數內部變數的值。

 

###2、變數提升

??變數提升指的是在瀏覽器解析JS檔案是,把定義的變數或者函數會先解析,然後在解析其他代碼,也就是說,JS當中可以先使用變數,然後在定義。但是

如果在定義變數的時候,給變數進行了初始化的話,該變數是不會被提升的!附:在es6代碼規範中,必須先定義變數,才可以使用變數。

 

###3、高階函數

??高階函數其實很簡單,只要輸出形式是print(‘hello‘)(‘world‘);的就行。例如:

 

    javascript:

    

    var Moqi = function(p1){

        this.add = function (p2){

            return p1 + ‘ ‘ + p2;

        };

        return add;

    };

    

    console.log(Moqi(‘Hello‘)(‘World‘));

    

###4、Callback回呼函數

* jQuery Callback 函數

 

    當動畫 100% 完成後,即調用 Callback 函數。

    

    典型的文法:

 

    `$(selector).hide(speed,callback);`

    

    callback參數是一個在 hide 操作完成後被執行的函數。

    

    錯誤(沒有 callback):

    

    $("p").hide(1000); alert("The paragraph is now hidden");

    

    正確(有 callback):

    

    `$("p").hide(1000,function(){ alert("The paragraph is now hidden"); });`

    

    結論:如果您希望在一個涉及動畫的函數之後來執行語句,請使用 callback 函數。

 

    凡是由你設計卻由windows系統呼叫的函數,統稱為callback函數。某些API函數要求以callback作為你參數之一。

    

    如SetTimer,LineDDA,EnumObjects。回呼函數是由開發人員按照一定的原形進行定義的函數(每個回呼函數都必須遵循這個原則來設計)

JS重要知識點總結-不完善

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.