2013-02-15 16 views
6

Stavo lavorando ad un semplice esercizio di programmazione che il mio insegnante ci ha dato e ho notato più volte che in Javascript devo dividere un numero per 1, altrimenti restituirà un valore ridicolo. Qualche spiegazione? Ho un jsfiddle http://jsfiddle.net/TpNay/1/Scopo della divisione di 1 javascript

var widthrand=Math.floor(Math.random()*widthRange); width=widthrand + document.getElementById('width').value/1;

Se si guarda alla linea 22, e tiri fuori il divario di 1, e fare clic su Genera, tornerà lunghezze ridicole Grazie

risposta

9

Si rende tipo JavaScript manipola forzando il valore di document.getElementById('width').value a diventare numerico.

Un modo migliore per farlo sarebbe parseInt(document.getElementById('width').value, 10)

+2

In particolare, le "lunghezze ridicole" di cui parli sono perché il segno + è sovraccarico per le stringhe, e così si vede Javascript concatenando i due valori, invece di sommare quando il la seconda è una stringa. – Interrobang

+0

non dimenticare di passare il secondo parametro 'radix' a' parseInt'. – jbabey

+2

Perché 'parseInt'" è meglio "? È solo un altro modo di realizzare la stessa cosa. – bfavaretto

Problemi correlati