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

Array.prototype.forEach - prośba o wytłumaczenie
ZU
  • Rejestracja: dni
  • Ostatnio: dni
0

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

Kopiuj
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.

Tumeg
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 687
0

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

ZU
  • Rejestracja: dni
  • Ostatnio: dni
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.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.