Das klingt wirklich nach einer einfachen Frage, aber ich hatte kein Glück bei der Suche. was macht das +d
in
function addMonths(d, n, keepTime) {
if (+d) {
meint?
javascript
goh
quelle
quelle
+…
bedeutet in JavaScriptAntworten:
Der
+
Operator gibt die numerische Darstellung des Objekts zurück. In Ihrem speziellen Fall scheint es also eine Prädikation dafür zu sein, obd
eine Zahl ungleich Null ist oder nicht .Referenz hier . Und wie in den Kommentaren erwähnt, hier .
quelle
.parseInt()
?Es ist ein unärer "+" - Operator, der einen numerischen Ausdruck ergibt. Es wäre das gleiche wie
d*1
, glaube ich.quelle
Wie in anderen Antworten erläutert, konvertiert es die Variable in eine Zahl. Besonders nützlich, wenn d entweder eine Zahl oder eine Zeichenfolge sein kann
Funktiondas ergibt eine Zahl.Beispiel (mit der
addMonths
Funktion in der Frage):dann
+d
wird das in allen Fällen zu einer Zahl ausgewertet. So müssen Sie nicht nach dem Typ suchen und unterschiedliche Codepfade verwenden, je nachdem, obd
es sich um eine Zahl, eine Funktion oder eine Zeichenfolge handelt, die in eine Zahl konvertiert werden kann.quelle
+d
wird nicht zu einer Zahl mit dem ersten Aufrufbeispiel von addMonths+function(){...}
wird eineNaN
nicht bewertete Funktion erzeugen