to naprawdę brzmi jak proste pytanie, ale nie miałem szczęścia szukać. co robi +d
w
function addMonths(d, n, keepTime) {
if (+d) {
znaczy?
javascript
goh
źródło
źródło
+…
znaczy w JavaScriptOdpowiedzi:
+
Operator przywraca Liczbowa obiektu. Tak więc w twoim konkretnym przypadku wydaje się, że przewidujesz, czyd
jest liczbą niezerową, czy nie .Odnośnik tutaj . I, jak zauważył w komentarzach, tutaj .
źródło
.parseInt()
?Jest to jednoargumentowy operator „+”, który daje wyrażenie liczbowe.
d*1
Myślę, że byłoby to tak samo jak .źródło
Jak wyjaśniono w innych odpowiedziach, konwertuje zmienną na liczbę. Szczególnie przydatne, gdy d może być liczbą lub łańcuchem
funkcjonowaćktóra ocenia na liczbę.Przykład (użycie
addMonths
funkcji w pytaniu):następnie
+d
oceni we wszystkich przypadkach. W ten sposób unikamy konieczności sprawdzania typu i wybierania różnych ścieżek kodu w zależności od tego, czyd
jest liczbą, funkcją czy łańcuchem, który można przekonwertować na liczbę.źródło
+d
nie oceni na liczbę z pierwszym przykładem wywołania addMonths+function(){...}
wygeneruje funkcjęNaN
nie oceniającą