隐式转换
var age1 = 10; //number
var age2 = "5"; //string
console.log(age1 - age2); //5 减
console.log(age1 / age2); //2 除
console.log(age1 * age2); //50 乘
console.log(age1 % age2); //0 取余
除了加号外其他符号均为算术运算
boolean 布尔
var flg = true;
console.log(flg); //true
算术运算符中 true为1 false为0
null 空(必须手动赋值为null)
var nul = null;
console.log(nul); //null
undefined 未定义
var age;
console.log(age); //undefined
数据类型转换
parseInt() 转换为整数
parseFloat() 转换为小数——浮点数
Number() 转换为数字
toString() 转换为字符型
String() 转换为字符型
Boolean() 转换为布尔型
parseInt() 转换为整数
console.log(parseInt("10")); //10
console.log(parseInt("10abcdef")); //10
console.log(parseInt("c10defg")); //NaN
console.log(parseInt("1cdefg")); //1
console.log(parseInt("10.98")); //10
console.log(parseInt("10.98abcdef")); //10
parseInt()从左往右依次进行转换,遇到字母立马停止转换并返回之前转换好的整数值
parseFloat() 转换为小数
console.log(parseFloat("10")); //10
console.log(parseFloat("10abcdef")); //10
console.log(parseFloat("c10defg")); //NaN
console.log(parseFloat("1cdefg")); //1
console.log(parseFloat("10.98")); //10.98
console.log(parseFloat("10.98abcdef")); //10.98
parseFloat()从左往右依次进行转换,遇到字母立马停止转换并返回之前转换好的小数值
Number() 转换为数字——较为严格
console.log(Number("10")); //10
console.log(Number("10abcdef")); //NaN
console.log(Number("c10defg")); //NaN
console.log(Number("1cdefg")); //NaN
console.log(Number("10.98")); //10.98
console.log(Number("10.98abcdef")); //NaN
console.log(Number(true)); //1
Number()只要遇到字母便返回NaN
toString() 转换为字符型
var num = 10;
console.log(num); //10
console.log(num.toString()); //10
console.log(typeof num.toString()); //string
null和undefined不能用toString()转换——会报错
String() 转换为字符型
var number = 10;
console.log(number); //10
console.log(String(number)); //10
var nul = null;
console.log(String(nul)); //null
var age;
console.log(String(age)); //undefined
String()可以转换null和undefined类型
Boolean() 转换为布尔型
var str = "张三";
var num = 10;
var nul = null;
var bb;
console.log(Boolean(str)); //true
console.log(Boolean(num)); //true
console.log(Boolean(nul)); //false
console.log(Boolean(bb)); //false
console.log(Boolean(1)); //true
console.log(Boolean(0)); //false
其他类型转换为布尔型为false的有五个:0、null、undefined、""、NaN