JavaScript學習總結一:js常見問題

來源:互聯網
上載者:User

      文法要點:Javascript語言區分大小寫,為弱類型變數語言(類似VB)。變數可以不定義直接使用(不推薦)。

    函數調用與引用:var one = excute();表示擷取excute這個函數執行的結果(傳回值)而var one = excute;表示引用excute這個函數,把excute這個函數的地址傳給one這個變數。

Js覆蓋規則:當出現多個同名函數時,以最後一個定義的為準,無論在哪調用該函數(即使在最後一個定義之前調用),都將調用最後一個!

    Javascript中的函數參數機制:一個函數有多少個參數不是通過函數的定義判斷的,而是通過訪問函數時傳遞了多少個參數判斷。比如function a(x,y),無論括弧裡寫多少個參數都無效,要想傳入參數要在訪問時確定,a(1,2,3);這樣就是傳入了三個參數。因此function a(x,y)、function a()、function a(x)等寫法是沒有任何區別的,函數唯一的區別就是名字,不通過參數區別。細心的讀者可能會發現,假如有一個function a(x,y),存取方法:a(1,2,3),問題來了:我們可以在function中使用x、y形參獲得1、2兩個實參值,但是第三個參數怎麼使用?在js中,每一個function,都會有一個arguments數組,這個數組專門用來存放參數,在本例中,數組的情況是:arguments[0]=1、arguments[1]=2、arguments[2]=3。這樣就不必通過形參訪問參數了,直接存取arguments數組即可!

    Js覆蓋規則:當出現多個同名函數時,以最後一個定義的為準,無論在哪調用該函數(即使在最後一個定義之前調用),都將調用最後一個!因為js是解釋執行的語言,在執行前要把整個程式碼片段掃描,因此可以在函數定義之前使用函數。例如,以下代碼輸出為2

 

<script type="text/javascript">function a(){alert("1");}a();function a(){alert("2");}</script>

 

 

相關文章

聯繫我們

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