转换为字符串
其他数据类中转换为字符串: 1.toString()函数 ,任何数据类型都能转换; 2.String() 包装器 ,null和undefined类型不能转换; 3.字符串拼接,使用加号,加上空字符串;和字符串拼接的结果都是字符串,这种方式成为隐式转换
var num=1; //数值转换为字符串
var str1=num.toString();
var str2=String(num); //转换为字符串‘1’
var str3=num+' '; //加号一边为字符串,字符串拼接,结果为字符串
console.log(str1,str2,str3);
null 和undefined比较特殊,不能调用toString,对象原有的方法他们都不可以调用,转换需要使用包装器函数转换String()
var n=null; //null类型转换为字符串
var bool=true; //Boolean类型转换为字符串
var arr=[1,2,3]; //数组转换为字符串
var obj={}; //空对象转换为字符串
var str3=String(n); //字符串类型‘ null’
var str4=bool.toString(); //'true'
var str5=arr.toString(); //'1,2,3'
var str6=obj.toString(); //'[object object]'
console.log(str3,str4,str5,str6);
转换为布尔型
其他数据类型转化为布尔类型 1.隐式转换 2.Boolean()
var res='1';
var r=Boolean(res); //返回布尔值true或false
有且只有以下情况会被转为false: 1.‘ ’ (空字符串) 2. 0 3. null 4. undefined 5. false 6. NaN
转换为数值类型
其他数值类型转换为数值类型 1.Number()强制转换 2.parseInt() 把字符型转换为整形数值 3.parseFloat() 有小数点时转为浮点型 4.利用算术运算减隐式转换
var str='1.0001';
var n1=Number(str);//1.0001
var n2=parseInt(str);//转为整形 1
var n3=parseFloat(str);//转为浮点型,可以保留小数点;1.0001
var n4=str - 0 ; //1.0001
console.log(n1,n2,n3);
console.log('2'-'1'); //1
var str=null;
console.log(Number(str)); //0
console.log(parseInt(str)); //NaN
console.log(parseFloat(str)); //NaN
console.log(str-0); //0
var str='111xiaoming';
console.log(Number(str)); //NaN
console.log(parseInt(str)); //111
console.log(parseFloat(str)); //111
console.log(parseInt('120px')); //120 会去掉单位
console.log(str-0); //NaN
var str=true;
console.log(Number(str)); //1
console.log(parseInt(str)); //NaN
console.log(parseFloat(str)); //NaN
console.log(str-0); //1
|