前端讲义16_javascript类型转换

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/msh2016/article/details/89761834

字符串转换成数字
parseInt()与parseFloat()函数是专门用于把字符串转换成数字的
parseInt()函数在转换字符串时,会忽略前面的空格,直到找到第一个非空字符。
如果第一个非空字符不是数字字符或者负号则返回NaN。
如果第一个字符是数值字符会继续解析第二个,直到解析完整个字符串或者遇到了一个非数值字符。
parseInt(""); //NaN
parseInt(3.14); //3
parseInt("4.12"); //4
parseInt("xyx123"); //NaN
parseInt("123xyx"); //123

parseInt()同样可以解析二进制、八进制与十六进制的数值,由于ECMAScript版本不同对非十进制数解析时会出现分歧,所以最好传入第二个参数作为基数。
parseInt(100111,2); //39
parseInt(123,8); //83
parseInt("0xBC",16); //188

parseFloat()与parseInt()函数类似,也是从第一个字符开始解析,直到字符串末尾或者遇到一个无效的浮点数字字符为止。比如,第一个小数点是有效的,第二个是无效的,因此后面的字符会被忽略。
parseFloat()与parseInt()不同的是它始终会忽略开头的0,且不具备传入基数的能力,即只能解析十进制数值。
parseFloat("123xyx"); //123
parseFloat("xyx123"); //NaN
parseFloat("012.3"); //12.3
parseFloat("3.14"); //3.14
parseFloat("34.5.6"); //34.5

数字转换为字符串
toString()方法  String() 转型函数
这两个方法的区别就是null,undefined值没有toString()方法,而任何类型值都可以使用String()函数。
var num = 123;
num.toString(); //"123"
var boo = false;
boo.toString(); //"false"
alert(num.toString()+boo.toString());

输出 123false
var num = 10;
num.toString(); //"10"
num.toString(2); //"1010"
num.toString(8); //"12"
num.toString(10); //"10"
num.toString(16); //"a"

如上,调用toString()方法不必传递参数。
在不知道要转换的值是不是null或undefined时,可以使用String()方法。其规则为:如果该值有toString()方法则调用该方法,如果是null或undefined则返回其字符串。
String(10); //"10"
String(true); //"true"
String(null); //"null"
String(undefined); //"undefined"

 

猜你喜欢

转载自blog.csdn.net/msh2016/article/details/89761834