强制类型转换:指将一个数据类型强制转换为其他的数据类型
类型转换主要指, 将其他的数据类型,转换为String Number Boolean
将其他的数据类型转换为String
方式一: 调用被转换数据类型的tostring()方法,但是注意: null和undefined这两 个值没有toString()方法,如果调用他们的方法, 会报错.调用a的toString()方法.调用XXX的yyy()方法,就是xxx.yyy()
a=a. toString() ;这方法不会影响到原变量, 它会将转换的结果返回
var a = 123;
var b =a.toString();
console.log(typeof b);
console.log(b);
var a = 123;
a=a.tostring();
console. log(typeof a);
console.log(a);
方式二:调用String()函数, 并将被转换的数据作为参数个递给函数
a = 123;
//调用String()函数,来将a转换为字符 串
a = string(a);
console.1og(typeof a);
-使用String()函数做强制类型转换时,对于Number和Boolean实际上就是调用的tostring()方法。但是对于null和undefined,就不会调用tostring()方法。它会将null直接转换为"null"字符串。将undefined直接转换为"undefined
将其他的数据类型转换为Number
转换方式一:使用Number()函数
字符串–>数字
1.如果是纯数字的字符串,则直接将其转换为数字
2.如果字符串中有非数字的内容,则转换为NaN
3.如果字符串是一个空串或者是一个全是空格的字符串,则转换为0
布尔–>数字 true转成1,false转成0
null --> 数字 0
undefined -->数字 NaN
转换方式二: 这种方式专门用来对付字符串
- parseInt()把一个字符串转换为一个整数,parseInt()可以将 一个字符串中的有效的整数内容去出来,然后转换为Number
- parseFloat() 把一个字符事转换为一个浮点数,parseFloat()作用和parseInt()类似,不同的是它可以获得有效的小数
var a="123px";
a=parseint(a);
console.log(typepf a);
console.log(a);
如果对非String使用parseInt()或parseFloat()它会先将其转换为String然后在操作
*在js中, 如果需要表示16进制的数字,则需要以0X开头
如果需要表示8进制的数字,则需要以0开头
如果要要表示2进制的数字,则需要以0b开头
但是不是所有的浏览器都支持
/向”070”这种字符串,有些浏览器会当成8进制解析,有些会当成10进制解析
//可以在parseInt()中传递一个第二个参数,来指定数字的进制
a=parseInt(a,10);
将其他的数据类型转换为Boolean
转换方式:使用Boolean()函数
数字—>布尔 -除了0和NaN,其余的都是true
字符串—>布尔 -除了空串, 其余的都是true
null和undefined 都会转换为false
对象 会转换为true