javascript中的函數

來源:互聯網
上載者:User

標籤:define   函數名   分類   列表   也有   cut   結合   重載   大量   

本文從 5個方面來說明函數。

  1. 函數的定義,函數是 一組可複用的 代碼。把常用的公用的代碼 封裝成函數,可以避免 來回的複製粘貼 ,既需要 搜尋代碼 又需要粘貼複製的,費時耗力 而且 會造成大量冗餘的代碼。寫成函數,我們只需 調用該函數,傳入必要的參數即可。方便高效。
  2. 函數的分類:
    1. 從用途方面 分為 普通函數和建構函式,一個作作普通調用,一個用來 結合 new關鍵字 建立新的函數執行個體;
    2. 從 構建方式的不同 劃分為 函式宣告和函數運算式,區別如下:
      1. 函式宣告 結合 function 關鍵字 + 函數名 + ()+{}。 會有 函式宣告的提升。
      2. 函數運算式可以理解為:變數聲明 、匿名函式宣告 、 賦值運算式 的結合體。既有 變數的提升(初始undefined),也有 匿名函式宣告的提升。
  3. 函數的屬性:每個函數 都有一些 屬性,這些屬性 有時候會很有用
    1. length,返回函數的形參的個數。
    2. prototype,經由本函數構造的執行個體 會繼承的方法的包含所在。
    3. 某些自定的屬性。。
  4. 函數內部的屬性,不經由函數+‘ . ‘ 調用的內部屬性:
    1. arguments:類數組對象,包含傳入的實參。arguments有個屬性 callee 指向 包含arguments的當前函數。
    2. this。指向當前函數作為方法 歸屬的主體,如果該函數是作為某個對象的方法調用,那麼該函數內部屬性的this指向 該對象。        
  5. 函數的方法:
    1. call(obj,arg1,arg2):
      1. 改變函數內部的this指向obj。
      2. 分別傳入實參 arg1,arg2.。。,跟函數的形參對應。  
    2. apply(obj,arguments):
      1. 改變函數內部的this指向obj。
      2. 分別傳入實參類數組列表 arguments,跟函數的形參對應。
      bind(es5添加):類似於call()方法。
      1. 返回函數執行個體。
      2. bind(obj,arg1,arg2)
      3. 函數this指向 obj。
      4. 需要調用返回的函數執行個體,才會執行。       
  6. 易錯點:
    1. js中的函數沒有重載現象(允許多個同名函數,接受不同的參數的存在。),同一範圍下(execution context),只能存在一個同名的函數,或者是變數。如果同名現象存在,後面的會覆蓋前面的。    

 

javascript中的函數

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.