ホームページ  >  に質問  >  本文

JavaScript - 電話で質問する

「JavaScript の決定版ガイド」 には、Array.prototype.map:

を実装するために使用される関数があります。 リーリー

なぜ f(a[i], i, a) を直接使用する代わりに call(null) を使用するのでしょうか?このように、これは世界情勢を示しています

PHP中文网PHP中文网2687日前677

全員に返信(2)返信します

  • PHP中文网

    PHP中文网2017-05-19 10:46:24

    ここで実装されたマップはこの形式、つまり 2 つのパラメーターでのみ呼び出すことができることがわかります。
    MDN で提供される関数プロトタイプをもう一度見てみましょう。

    const new_array = arr.map(callback[, thisArg])

    callback は f と呼ばれるものなので、最後の this はオプションであり、本で提供される関数はこの値をまったく考慮しません。この値が渡されない場合、

    thisArg パラメーターが省略されている場合、または値がassign null または未定義の場合、これはグローバル オブジェクトを指します。 さらに、関数オブジェクト呼び出しメソッドを使用する場合、

    この関数が非厳密モードの場合、null および未定義として指定された this 値は自動的にグローバル オブジェクト (ブラウザーのウィンドウ オブジェクト) を指し、this の値は元の値 (数値、文字列、ブール値) 元の値を指す自動ラッパー オブジェクト。

    一言で言えば、マップ関数のプロパティを完全にシミュレートするため〜

    返事
    0
  • 滿天的星座

    滿天的星座2017-05-19 10:46:24

    /q/10...

    返事
    0
  • キャンセル返事