国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

javaScript中的Arguments對象

OpenDigg / 2859人閱讀

摘要:搞清楚什么是是一個對應于傳遞給函數的參數的類數組對象。對象是所有非箭頭函數中都可用的局部變量。首先它是一個類數組對象,結果毫無疑問是,注意結果是字符串類型。接下來調用,結果是從未見過的。第一次寫文章,希望對你們有點幫助。

1.搞清楚什么是arguments
“arguments 是一個對應于傳遞給函數的參數的類數組對象。
arguments對象是所有(非箭頭)函數中都可用的局部變量。你可以使用arguments對象在函數中引用函數的參數。此對象包含傳遞給函數的每個參數,第一個參數在索引0處。”

首先它是一個類數組對象,typeof arguments結果毫無疑問是"object",注意結果是字符串類型。接下來調用Object.prototype.toString.call(arguments),結果是從未見過的"[object Arguments]"。

2.轉換為數組

1.Array的silce方法

Array.prototype.slice.call(arguments)

2.Array.from

let re = Array.from(arguments)

3.拓展運算符

let re = [...arguments]
3.從arguments到類數組

類數組必須有length屬性,具有索引屬性,下面結合代碼說明:

let obj = {

            "0": "a",

            "1": "b",

            "2": "c",

            length: 3,

            "push": Array.prototype.push,

            "splice": Array.prototype.splice

        }

obj.push("d")

console.log(obj) 

結果為:

實際執行過程相當于:

obj[obj.length] = "d";
obj.length++;
4.筆試題
var length = 10;
function fn(){
    console.log(this.length)
}
var obj = {
    length: 5,
    getF: function(fn) {
        fn();
        arguments[0]();
    }
}
obj.getF(fn);

考察的是arguments和this指向問題,我答的5 1,真實結果為10 1。第一次寫文章,希望對你們有點幫助。

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/102684.html

相關文章

  • JavaScript arguments 對象全面介紹

    摘要:事實上,滿足一定條件的對象都能被方法轉換成數組。繼承于的很大原因是不需要這四個方法。而在非嚴格模式下,兩個會互相影響。數組與類數組對象數組具有一個基本特征索引。這是一般對象所沒有的。是利用對象的鍵值對存取數據,而卻是利用數組的索引。 1. 什么是 arguments MDN 上解釋: arguments 是一個類數組對象。代表傳給一個function的參數列表。 我們先用一個例子直觀了...

    HackerShell 評論0 收藏0
  • JavaScript arguments 對象詳解

    摘要:事實上,滿足一定條件的對象都能被方法轉換成數組。繼承于的很大原因是不需要這四個方法。而在非嚴格模式下,兩個會互相影響。數組與類數組對象數組具有一個基本特征索引。這是一般對象所沒有的。是利用對象的鍵值對存取數據,而卻是利用數組的索引。 1. 什么是 arguments MDN?上解釋: arguments 是一個類數組對象。代表傳給一個function的參數列表。 我們先用一個例子直觀了...

    codergarden 評論0 收藏0
  • JavaScript中的執行上下文和變量對象

    摘要:以上簡單總結了下對執行上下文和變量對象的理解,主要在于記錄總結一下學習成果,目前文章的水平實在不敢談分享。 執行上下文(Execution Context) 文章同步到github javaScript中的執行上下文和變量對象 JavaScript代碼執行的過程,包括編譯和執行兩個階段,編譯就是通過詞法分析,構建抽象抽象語法樹,并編譯成機器識別的指令,在JavaScript代碼編譯階段...

    why_rookie 評論0 收藏0
  • 編寫高質量JavaScript代碼之使用函數

    摘要:構造函數調用使用操作符來調用函數則視其為構造函數。構造函數的主要職責是初始化該新對象。使用方法定義高階函數允許使用者給回調函數指定接收者。當給高階函數傳遞對象方法時,使用匿名函數在適當的接收者上調用該方法。 參考書籍:《Effective JavaScript》 使用函數 理解函數調用、方法調用及構造函數之間的不同 函數、方法和構造函數是單個構造對象的三種不同的使用模式。 函數調用...

    yankeys 評論0 收藏0
  • JavaScript函數式編程(0):函數基礎 arguments、this、apply()、cal

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

    陳偉 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<