Reputation: 5550
According to tutorial by w3schools (http://www.w3schools.com/jsref/tryit.asp?filename=tryjsref_tostring_number), we can use toString()
method on a integer var. Kindly look at the following code:
var num = 15;
var n = num.toString();
alert(isNaN(n));
If toString()
method is working, why isNaN(n)
returning false
?
Upvotes: 0
Views: 920
Reputation: 26345
isNaN()
coerces the string '15'
into a number value before checking it.
isNaN
even coerces booleans, and some falsy values into numbers.
isNaN(true) // >> false
isNaN(false) // >> false
isNaN([]) // >> false
isNaN('') // >> false
Try using typeof
to figure out if it's a number or not
var num = 15;
var n = num.toString();
alert(typeof n === 'number');
Upvotes: 1
Reputation: 4844
isNaN() function returns true if the value is NaN, and false if not. Your code is excute alert(isNaN(15));
So it is return false
Upvotes: -1
Reputation: 1418
The IsNaN
method tries converting the string passed to it back to a number, and since "15" is still actually a number, the method returns false
.
See: https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/isNaN
Upvotes: 3