Ich kenne die Basis von Aufruf und array.prototype.map.call() -Funktion nimmt zwei Argumente, der erste ist der Objekt Kontext, der als dies innerhalb der aufgerufenen verwendet werden soll Funktion und zweite ist Argument Liste. Aber in MDN fand ich ein Beispiel, wo array.prototype.map über Call-Methode verwendet wird und eine Zeichenfolge als erstes Argument übergeben wird.Verwenden Sie array.prototype.map über Anruf auf einem Stirng
Ich möchte wissen, wie übergebene Zeichenfolge innerhalb der Map-Funktion manipuliert wird.Nein dieses Schlüsselwort in der Kartenfunktion.Wie Karte weiß, dass es auf einem stirng aufgerufen wird?
var map = Array.prototype.map;
var a = map.call('Hello World', function(x) { return x.charCodeAt(0); });
* "Nein dieses Schlüsselwort innerhalb der Kartenfunktion." * - Ich denke, Sie verwirren die '.map()' Funktion selbst mit der Funktion, die Sie übergeben als ein Argument für '.map()'. – nnnnnn
Wenn Sie durch das 'polyfill' von' Array # map' gehen, werden Sie erfahren, dass es sich um 'while' loop handelt, wobei' length' von 'this' betrachtet wird und in diesem Fall' this' ist ein 'String 'was hat 'length'-Eigenschaft ... – Rayon
Warum glaubst du, dass die' map'-Funktion ihr' this'-Argument nicht benutzt hat? – Bergi