强制类型转化
-将一个数据类型强制转化为其他数据类型
-类型转化主要指的就是,将其他的数据类型,转化为
String、Number、Boolean
将其他类型转化为String
方式一:
-调用被转换类型的toString()方法
-该方法不会影响原变量,它会将转化结果返回
-但是注意:null和undefined这两个之没有toString()方法
如果调用调用它们的方法会报错
方式二:
-使用String()函数,并将转化的数据作为参数传递给函数
-使用String()函数做强制类型转换时,对于Number和Boolean
就是调用了toString()方法,但是对于null和undefined,
就不调用toString(),它会将null直接转化为"null",将
undefined直接转化为"undefined"
var a=123;
a=a.toString();
a=null;
//a=a.toString()报错
a=undefined;
//a=a.toString()报错
a=123;
//调用String()函数,将a转化为字符串
a=String(a);
document.write(typeof a);
document.write(a);
将其他类型转化为Number
方式一:
使用Number()函数
-字符串-->数字
1.如果是纯数字字符串,则直接将其转化为数字
2.如果字符串中有非数字的内容,则转化为NaN
3.如果字符是空串或是全是空格的字符串则转化为0
-布尔-->数字
true转为1,false转为0
-null-->数字 0
-undefined-->数字 NaN
方式二:
-这种方式专门用来处理字符串
-parseInt()把一个字符串转化为一个整数
-parseFloat()把一个字符串转化为浮点数
var a="123";
//转化为NaN
a="abc";
//转化为0
a="";a=" ";
//true转化为1,false转化为0
a=true;a=false;
//null转数字为0
a=null;
//调用Number()函数
a=Number(a);
a="123px";
//调用parseInt()函数将a转化为Number,可以将一个字符串中有效的整数取出然后转化为Number
a=parseInt(a);
//undefined转数字为NaN
document.write(typeof a);
document.write(a);
在JS中,如果有需要表示16进制的数字,则需要0x开头
如果有需要表示8进制的数字,则需要0开头
如果需要表示2进制数字,则需要0b开头,但不是所有浏览器都支持
//16进制
var a=0x10;
//8进制
a=010;
//二进制
a=0b10101;
a="070";
//可以在parseInt()中传递第二个参数,用来指定数字的进制
a=parseInt(a,8);
document.write(typeof a);
document.write(a);
将替他的数据类型转化为Boolean
-使用Boolean()函数
-数字--》布尔
-除了0和NaN其余的都是true
-字符串--》布尔
-除了空串其余的都是ture
-null和undefined都是false
-Object也会转换为true
var a=123;//true
a=0;//false
a=Infinity;//true
a=NaN;//false
a=null;//false
a=undefined;//false
a=Boolean(a);
document.write(typeof a);
document.write(a);