NaN,非数值
这个数值用于表示一个本来要返回的值的操作数返回数值的情况
NaN不等于本身
针对NaN的这两个特点,定义了isNaN()函数,这个函数会尝试将这个值转换为数值。
例如:
alert(isNaN(NaN)); 返回true
alert(isNaN(10); 返回false
alert(isNaN("10"); 返回false 同上都是10
alert(isNaN(blue);返回ture
alert(isNaN(true)返回false 这里转换为了数值1
isNaN()也适用于对象,但是对象调用isNaN()函数时会先掉调用valueof(),然后确定这个该方法返回的值是否可以转换为数值,如果不能,则基于这个返回值在调用toString()方法,再测试返回值。
数值转换部分
有三个函数可以把非数值转换为数值:
Number();
true和false转换为1和0
null返回0
undefine返回NaN
字符串中只包含数字,”123”会变成123,”011”则会变成11省略掉前面的0;
“1.1”则会转换为1.1,会忽略前面的0
“0xf” 16进制则会转换为10进制
空字符串则会变为0;
字符串包含除上述外则转换为NaN;parseInt();
可以有第二个参数,解析进制,
var num1=parseInt(“10”,2) 返回2
var num2=parseInt(“10”,8) 返回8
var num3=parseInt(“10”,16) 返回16parseFloat();
只解析到一个小数点,并且忽略所有的前导0,只接收十进制数,其他同上
第一个即转型函数,可以用于任何数据类型,后两个则专门用于字符串和数值的转换
String部分
字符串一旦创建值就不可改变,要改变某个变量保存的字符串值,首先要销毁原来的值,然后再用另一个包含新值的字符串填充该变量
var lang=”java”;
lang =lang+”script”;
这个操作的步骤是,先创造一个java(4)+script(6)=10个字节大小的字符串,然后填充java和script,最后销毁java和script.
接下来就是将其他类型转换为String类型的toString()方法
var age=21;
var PrintAge=age.toString();
console.log(PrintAge);//"21"
console.log(typeof(PrintAge);//string
null就转换为”null”
undefined就转换为”undefined”

被折叠的 条评论
为什么被折叠?



