qual è l'effetto del '+' nel seguito?Significato del segno più anteposto javascript
var result = jQuery.trim(this.html2val(this.getValueJelement()[0].innerHTML));
result = +result.replace(/[^\d\.-]/g, '');
qual è l'effetto del '+' nel seguito?Significato del segno più anteposto javascript
var result = jQuery.trim(this.html2val(this.getValueJelement()[0].innerHTML));
result = +result.replace(/[^\d\.-]/g, '');
Questo è fondamentalmente un modo subdolo di forzare l'operando di destra in un valore numerico. Per esempio,
> +"42"
42
Converte l'operando in un numero. In altre parole, è praticamente lo stesso di result = parseFloat(result)
.
+a
è la fastest way per la conversione a
al numero.
in realtà, '+ qualcosa' è più simile a' Numero (qualcosa) 'rispetto a' parseFloat (qualcosa) ', poiché l'utilizzo dell'oggetto' Numero' globale chiama internamente la funzione 'ToNumber()' che ha un set diverso di regole per convertire altri tipi, mentre 'parseFloat (qualcosa)' trasforma l'argomento in una stringa e usa un altro set di regole per convertirlo in un numero. Una semplice dimostrazione convertirà il valore "" 12.3a "': parseFloat ("12.3a") -> 12.3; + '12 .3a '-> NaN; Numero ('12 .3a ') -> NaN' – iulian