溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

js中函數(shù)學(xué)習(xí)筆記

發(fā)布時間:2020-06-27 09:22:03 來源:網(wǎng)絡(luò) 閱讀:280 作者:蝸牛oscersong 欄目:開發(fā)技術(shù)

函數(shù):

   具名函數(shù)

   匿名函數(shù)

一.函數(shù)定義

   (1)函數(shù)聲明

            函數(shù)聲明只能出現(xiàn)在程序或函數(shù)體內(nèi),

          function  fun(){

               //函數(shù)體           

           }

 

(2)函數(shù)表達(dá)式

          匿名函數(shù)表達(dá)式

           var fun = function(){

                 //函數(shù)體      

          }

         具名函數(shù)表達(dá)式

           var fun = function f(){

                //函數(shù)體   

         }

          具名函數(shù)表達(dá)式的函數(shù)名只能在創(chuàng)建函數(shù)內(nèi)部使用

(3)函數(shù)構(gòu)造函數(shù)

          Var fun = new Function(),一般不建議使用

    二.函數(shù)調(diào)用方式:

   (1)作為函數(shù)被調(diào)用,是由于函數(shù)后面加上()操作符來觸發(fā)的,用這種方式調(diào)用時,函數(shù)的上下文就是全局的上下文,即window對象

  (2)方法調(diào)用模式:一個函數(shù)是一個對象的屬性,當(dāng)這個函數(shù)被調(diào)用時候,這個函數(shù)就視為這個對象的一個方法。當(dāng)這個函數(shù)作為一個對象的方法被調(diào)用的時候,這個對象就成為這個函數(shù)的上下文。

函數(shù)的上下文的產(chǎn)生,并不由函數(shù)的定義來決定,而是由函數(shù)的調(diào)用來決定。

 (3)構(gòu)造函數(shù)調(diào)用:想讓一個函數(shù)作為構(gòu)造器被調(diào)用,需要new關(guān)鍵字,this為創(chuàng)建的新對象

 關(guān)于new的過程

   1)創(chuàng)建一個空的對象,僅包含Object的屬性和方法。

   2)將prototype中的屬性和方法創(chuàng)建一份引用,賦值給新對象

   3)將this上的屬性和方法新建一份,賦值給新對象

   4)返回this對象,忽略return 語句。

 (4apply/call調(diào)用:通過使用applycall方法,可以用任何對象作為函數(shù)上下文,并將它顯性的操作

Apply(),接收兩個參數(shù),第一個參數(shù)作為函數(shù)上下文的對象,第二個參數(shù),一個參數(shù)數(shù)組

Call(),則是另一個簡單的形式,第一個參數(shù)作為函數(shù)上下文的對象,第二個參數(shù)只需要傳遞參數(shù)列表來代替參數(shù)數(shù)組。

三.函數(shù)的屬性和方法

        Function()的屬性:prototype

        Function對象實例屬性:

         (1)arguments:arguments對象是一種類數(shù)組對象,它包含所有傳遞給函數(shù)的參數(shù),arguments對象擁有名為callee的屬性,這個屬性指向的是當(dāng)前執(zhí)行的函數(shù),這個屬性可以一直用于在函數(shù)內(nèi)部獲取到函數(shù)自身。arguments對象擁有length屬性,它給出的是在調(diào)用時發(fā)送給函數(shù)的參數(shù)數(shù)量。這個屬性已經(jīng)被js1.4中廢除。 

             (2)constructor

             (3)length:而這個函數(shù)實例length屬性,提供的是已定義參數(shù)的數(shù)量,它可以獲得函數(shù)所需要的參數(shù)總數(shù)量。
        Function對象實例方法:

             (1)apply()

             (2)call()

             (3)toString()

四.匿名函數(shù),自調(diào)用的匿名函數(shù)表達(dá)式,自調(diào)用的匿名函數(shù)語句

五.函數(shù)可以無限地嵌套在其他函數(shù)內(nèi)部

在真正定義函數(shù)語句之前,可以在執(zhí)行時調(diào)用該函數(shù)語句,因為函數(shù)聲明提升的作用。使用函數(shù)聲明語句的話,函數(shù)名稱和函數(shù)體均提前,使用函數(shù)定義表達(dá)式,js會將此代碼拆分兩行代碼分別執(zhí)行。先把變量名提升,函數(shù)的表達(dá)式仍然在原來的位置 


向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI