Js函數的概念、作用、創建、調用!


一、函數是用來幫助我們封裝、調用代碼的最方便的工具!

二、函數的創建方法有三種:

三、函數的創建方式有3種,調用方式也不是單一的,調用方式有4種!
      1、作為一個函數去調用 函數名+();(函數作為全局對象調用,會使this的值成為全局對象,使用window對象作為一個變量,容易造成程序崩潰!)
      2、函數作為方法調用:(函數作為對象的方法調用,會使this的值成為對象的本身!)
      我們舉例說明:

 

3、使用構造函數調用函數:(構造函數中的this沒有任何值)

 

4、作為函數方法調用函數:(這種可以設置this的值,我可以返回不同this!)
        在js中函數是對象,是對象就有屬性個方法,而call()和apply()是預定義的函數方法!
        這兩個方法都可以調用函數,兩個方法的第一個參數必須是對象的本身!

 

三、如果想要對函數有更深刻的理解,或者正確認識函數!需要我們先做一件事,那就是了解js的運行機制問題:
        1、在js中js引擎會優先解析var變量和function定義!在預解析完成后從上到下逐步進行!
        2、解析var變量時,會把值存儲在“執行環境”中,而不會去賦值,值是存儲作用!例如:
        alert(a);  var a = 5;  這時會輸出undifiend,意思是沒有被初始化沒有被賦值!
        這並不是沒有被定義,錯誤了的意思!
        3、在解析function時會把函數整體定義,這也就解釋了為什么在function定義函數時為什么可以先調用后聲明了!其實表面上看是先調用了,其實在內部機制中第一步實行的是把以function方式定義的函數先聲明了!

四、javascrit中函數有一個內置的對象arguments對象!
      作用是:1.在js中函數定義沒有任何參數,調用該函數時可以傳遞任意參數!2.arguments對象是數組對象。3.arguments對象的length屬性:獲取函數的實參個數!4.利用Arguments對象特性,實現模擬函數的重載的效果.


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM