Array.prototype.forEach - prośba o wytłumaczenie

0

Hej,
Mam prośbę nie rozumiem pewnej części zapisu.

if (!Array.prototype.forEach)
{
  Array.prototype.forEach = function(fun /*, thisp*/)
  {
    var len = this.length;
    if (typeof fun != "function")
      throw new TypeError();

    var thisp = arguments[1];
    for (var i = 0; i < len; i++)
    {
      if (i in this)
        fun.call(thisp, this[i], i, this);
    }
  };
}

do czego służy thisp?
później ta "fun" wykonuje na obiekcie "thisp" po kolei zmienne (pierwszą wartość z tablicy, potem nie wiem po co i na co "i" a następnie jest przekazywana Cała tablica!)
nigdy nie widziałem czegoś takiego.

0

Przykład jest stąd, gdzie masz jasno wytłumaczone: https://developer.mozilla.org/pl/docs/Web/JavaScript/Referencje/Obiekty/Array/forEach

0

Wiem, nie rozumiem tylko jak działa call - tzn. rozumiem tylko nie wiem czemu 3 argumenty przyjmuje.

postaram się to sam rozgryźć - dziękuje Ci za pomoc.

Proszę o zamknięcie wątku.

1 użytkowników online, w tym zalogowanych: 0, gości: 1