2011-01-05 12 views

Antwort

4

Warum passiert es in dieser bestimmten Demo? denn diese unterscheiden:

$("span").text(undefined);  //empty string set 
$("span").text("" + undefined); //"undefined" set 

Bevor .data() gesetzt ist, muss der Wert undefined, und es in einen String umgewandelt werden, um alles in der Ausgabe zu sehen.


Allgemeiner: Ja, es sind Fällen, in denen es darauf ankommt, lassen Sie uns ein kurzes Beispiel nehmen, die fehlschlägt:

$("span").text([1, 2, 3, 4]); 

Dies wird scheitern, weil es eine andere Überlastung von .text() ist (viele Dinge haben Array-Überlastungen) anstelle von diesem:

$("span").text("" + [1, 2, 3, 4]); 

Welche funktioniert, es ist effektiv:

$("span").text("" + "1,2,3,4"); 
+0

was meinst du mit "fail" hier? – jAndy

+0

@jAndy - es wird nicht "undefined" in der Ausgabe angezeigt, es wäre stattdessen leer, was eine unangenehme Demo macht. –

+0

hat meinen vorherigen Kommentar gelöscht. Mein Test war offensichtlich fehlerhaft. Könnte schwören, ich habe es in "Körper" geändert. – user113716

1

A: Nein, es macht keinen Sinn, diese explizite "Umwandlung" in eine Zeichenfolge zu haben. jQuery wird sich um dich kümmern.

+0

Dies trifft in vielen Fällen nicht zu. –

Verwandte Themen