String # trim kann nicht als Rückruf für Array # map verwendet werden
Aus irgendeinem Grund kann ich nicht verwendenString.prototype.trim.call
als Rückruf für Array-Methoden, wie zmap
oderfilter
.
In diesem Fall funktionieren zwei Funktionen gleich:
function trim(string) {
return string.trim();
}
var string = ' A ';
trim(string); // 'A'
String.prototype.trim.call(string); // 'A'
Wenn ich jedoch versuche, sie als Rückruf für eine Array-Methode zu übergeben, schlägt die zweite fehl:
var array = [' A', 'B ', ' C '];
array.map(trim); // ['A', 'B', 'C'];
array.map(String.prototype.trim.call); // TypeError: undefined is not a function
Demo:http://jsbin.com/ubUHiHon/1/edit?js,console
Ich gehe in einem letzteren Fall davon austhis
zeigt nicht auf ein Array-Element, aber ich möchte eine klare Erklärung darüber erhalten, was passiert.