[thelist] javascript comparison

liorean liorean at f2o.org
Thu Oct 30 09:35:06 CST 2003

Jeff Howden wrote:
>>From: Rob Smith
>>My javascript test is testing supposedly numerical
>>values as strings, when they should be compared by
>>actual value.
> yup, javascript is typeless, so it thinks numbers are strings, unless
> explicitly told otherwise.

Not exactly. JavaScript is dynamically, weakly typed; but it is not 
typeless. An easy way to demonstrate this is to compare the results of 
2+2 (4), and '2'+2 (22). JavaScript simply tries to preserve data. What 
is really happening in this case, is that he's entered a number into the 
form field, and is trying to read the form field value. The value 
property of form fields is considered to be a string, so that's why he 
has to make it into a number first. This can be done by many ways, 
multiplication by 1, substraction by 0, using the Number object, or 
using one of parseFloat or parseInt.

>> Is there a way I can cast values in javascript?
> not really, but you can force the parser to treat a value as a number using
> the parseInt() function.

You can use the host objects for type casting, but there is seldom any 
reason for that, as functions such as parseInt generally provide better 
ways of doing it.
liorean <mailto:liorean at user.bip.net>

ViewStyles, ViewScripts, ToggleStyles and GraphicsInfo bookmarklets and 
Theme Switcher, Cookies Handler scripts:

More information about the thelist mailing list