成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

JavaScript 函數(shù)參數(shù)-Arguments(實參)對象

趙春朋 / 1332人閱讀

摘要:三參數(shù)規(guī)則函數(shù)定義時形式參數(shù)沒有指定數(shù)據(jù)類型。函數(shù)對實際參數(shù)的個數(shù)沒有進行檢測。通常函數(shù)只保留靠前的參數(shù),而省略靠后的參數(shù)。

一、參數(shù)概念
函數(shù)運行的時候,有時需要提供外部數(shù)據(jù),不同的外部數(shù)據(jù)會得到不同的結(jié)果,這種外部數(shù)據(jù)就叫參數(shù)。
1.1 示例

上式的 x 就是square函數(shù)的 參數(shù)。每次運行的時候,需要提供這個值,否則得不到結(jié)果。

二、形式參數(shù)和實際參數(shù) 2.1 形式參數(shù)在函數(shù)定義時列出。 2.2 實際參數(shù)在函數(shù)調(diào)用時傳遞給函數(shù)真正的

形式參數(shù)和實際參數(shù)是不同的變量,他們在內(nèi)存中處于不同的位置,形式參數(shù)在函數(shù)運行結(jié)束時將被釋放。

三、參數(shù)規(guī)則 3.1 函數(shù)定義時形式參數(shù)沒有指定數(shù)據(jù)類型。 3.2 函數(shù)對實際參數(shù)沒有進行類型檢測。 3.3 函數(shù)對實際參數(shù)的個數(shù)沒有進行檢測。

四、默認(rèn)參數(shù)

如果函數(shù)在調(diào)用時未提供實際參數(shù),參數(shù)會默認(rèn)設(shè)置為: undefined

如果y已經(jīng)定義 , y || 返回 y, 因為 y 是 true, 否則返回 0, 因為 undefined 為 false。

五、參數(shù)個數(shù) 5.1 實參比形參少

(1)當(dāng)調(diào)用函數(shù)時傳遞的實參比函數(shù)定義時的形參個數(shù)少,剩下的形參都將設(shè)置為 undefined 值。

(2)通常函數(shù)只保留靠前的參數(shù),而省略靠后的參數(shù)。如果一定要省略靠前的參數(shù),只有顯式傳入 undefined。

5.2 實參比形參多

(1)如果函數(shù)調(diào)用時設(shè)置了過多的實際參數(shù),剩下的實際參數(shù)沒有方法直接獲取,需要使用即將提到的arguments對象。

六、Arguments(實參)對象 6.1 定義

(1)由于 JavaScript 允許函數(shù)有不定數(shù)目的參數(shù),所以需要一種機制,可以在函數(shù)體內(nèi)部讀取所有參數(shù)。這就是arguments對象的由來。

(2)arguments對象包含了函數(shù)運行時的所有參數(shù),arguments[0]就是第一個參數(shù),arguments[1]就是第二個參數(shù),以此類推。這個對象只有在函數(shù)體內(nèi)部,才可以使用。

6.2 示例

(1)

(2)

5.3 length屬性

(1)通過arguments對象的length屬性,可以判斷函數(shù)調(diào)用時傳遞的實際參數(shù)個數(shù)

(2)注意

arguments對象的length屬性顯示實參的個數(shù),函數(shù)的length屬性顯示形參的個數(shù)

(3)形參只是提供便利,但不是必需的

5.4 和數(shù)組的關(guān)系

(1)需要注意的是,雖然arguments很像數(shù)組,但它是一個對象。數(shù)組專有的方法(比如slice和forEach),不能在arguments對象上直接使用。

(2)如果要讓arguments對象使用數(shù)組方法,真正的解決方法是將arguments轉(zhuǎn)為真正的數(shù)組。

(3)下面是兩種常用的轉(zhuǎn)換方法:slice方法逐一填入新數(shù)組。

5.5 callee 屬性

(1)arguments對象有一個名為callee的屬性,該屬性是一個指針,指向擁有這個arguments對象的函數(shù)。

(2)下面是經(jīng)典的階乘函數(shù)

(3) 但是,上面這個函數(shù)的執(zhí)行與函數(shù)名緊緊耦合在了一起,可以使用arguments.callee可以消除函數(shù)解耦

(4) 但在嚴(yán)格模式下,訪問這個屬性會拋出TypeError錯誤

(5)這時,可以使用具名的函數(shù)表達式

閱讀更多

參考文章

函數(shù)

深入理解javascript函數(shù)系列第二篇——函數(shù)參數(shù)

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://m.hztianpu.com/yun/93982.html

相關(guān)文章

  • JavaScript || 函數(shù)

    摘要:每個函數(shù)表達式包括函數(shù)對象括號和傳入的實參組成。和作用都是動態(tài)改變函數(shù)體內(nèi)指向,只是接受參數(shù)形式不太一樣。在定義函數(shù)時,形參指定為一個對象調(diào)用函數(shù)時,將整個對象傳入函數(shù),無需關(guān)心每個屬性的順序。 函數(shù) JavaScript中,函數(shù)指只定義一次,但可以多次被多次執(zhí)行或調(diào)用的一段JavaScript代碼。與數(shù)組類似,JavaScript中函數(shù)是特殊的對象,擁有自身屬性和方法 每個函數(shù)對象...

    learn_shifeng 評論0 收藏0
  • JavaScript函數(shù)

    摘要:函數(shù)使用它們實參的值來計算返回值,稱為該函數(shù)調(diào)用表達式的值。通常函數(shù)名的第一個字符為小寫。在函數(shù)內(nèi)部定義的變量,外部無法讀取,稱為局部變量。注意對于命令來說,局部變量只能在函數(shù)內(nèi)部聲明,在其他區(qū)塊中聲明,一律都是全局變量。 函數(shù) 1.函數(shù)簡介 通過函數(shù)可以封裝任意多條語句,而且可以在任何地方、任何時候調(diào)用。 ECMAScript中的函數(shù)使用function關(guān)鍵字來聲明,后跟一組參數(shù)以及...

    Martin91 評論0 收藏0
  • JavaScript深入之類數(shù)組對象arguments

    摘要:在客戶端中,一些方法等也返回類數(shù)組對象。對象接下來重點講講對象。在函數(shù)體中,指代該函數(shù)的對象。下一篇文章深入之創(chuàng)建對象的多種方式以及優(yōu)缺點深入系列深入系列目錄地址。 JavaScript深入系列第十三篇,講解類數(shù)組對象與對象的相似與差異以及arguments的注意要點 類數(shù)組對象 所謂的類數(shù)組對象: 擁有一個 length 屬性和若干索引屬性的對象 舉個例子: var array = ...

    AlienZHOU 評論0 收藏0
  • JavaScript函數(shù)式編程(0):函數(shù)基礎(chǔ) arguments、this、apply()、cal

    摘要:參數(shù)引用函數(shù)的上下文,函數(shù)上下文來自于等面向?qū)ο笳Z言,中的依賴于函數(shù)聲明。沒有重載函數(shù)沒有簽名,因為其參數(shù)是由包含零或多個值的數(shù)組來表示的。這就是重載函數(shù)。重載函數(shù)常用來實現(xiàn)功能類似而所處理的數(shù)據(jù)類型不同的問題。 1 函數(shù)參數(shù) 函數(shù)的實參和形參個數(shù)可以不等,之所以會這樣,原因是 ECMAScript 中的參數(shù)在內(nèi)部是用一個數(shù)組來表示的。函數(shù)接收到的始終都是這個數(shù)組,而不關(guān)心數(shù)組中包含哪...

    陳偉 評論0 收藏0
  • JavaScript函數(shù)式編程(0):函數(shù)基礎(chǔ) arguments、this、apply()、cal

    摘要:參數(shù)引用函數(shù)的上下文,函數(shù)上下文來自于等面向?qū)ο笳Z言,中的依賴于函數(shù)聲明。沒有重載函數(shù)沒有簽名,因為其參數(shù)是由包含零或多個值的數(shù)組來表示的。這就是重載函數(shù)。重載函數(shù)常用來實現(xiàn)功能類似而所處理的數(shù)據(jù)類型不同的問題。 1 函數(shù)參數(shù) 函數(shù)的實參和形參個數(shù)可以不等,之所以會這樣,原因是 ECMAScript 中的參數(shù)在內(nèi)部是用一個數(shù)組來表示的。函數(shù)接收到的始終都是這個數(shù)組,而不關(guān)心數(shù)組中包含哪...

    liuchengxu 評論0 收藏0

發(fā)表評論

0條評論

閱讀需要支付1元查看
<