数据类型转换
其他类型转成数字类型:三种方式
1、parseInt();//转整数
console.log(parseInt("10"));//10
console.log(parseInt("10sfsdff"));//10
console.log(parseInt("g10"));//NaN
console.log(parseInt("1afas0"));//1
console.log(parseInt("10.98"));//10
console.log(parseInt("10.98fsfasf"));//10
2、parseFloat();//转小数
console.log(parseFloat("10"));//10
console.log(parseFloat("10sfsdff"));//10
console.log(parseFloat("g10"));//NaN
console.log(parseFloat("1afas0"));//1
console.log(parseFloat("10.98"));//10.98
console.log(parseFloat("10.98fsfasf"));//10.98
3、Number();//转数字
console.log(Number("10"));//10
console.log(Number("10sfsdff"));//NaN
console.log(Number("g10"));//NaN
console.log(Number("1afas0"));//NaN
console.log(Number("10.98"));//10.98
console.log(Number("10.98fsfasf"));//NaN
总结:想要转整数用parseInt() 想要转小数用parseFloat()
想要转数字:Number();要比上面的两种方式都严格
其他类型转字符串类型:
1、.toString()
var num = 10;
console.log(num.toString());//字符串类型
2、String
var num1 = 20;
console.log(String(num1));
如果变量有意义调用.toString()使用转换
如果变量没有意义使用String()转换
var num2;
console.log(num2.toString());
var num3 = null;
console.log(num3.toString());
这个可以
var num2;
console.log(String(num2));
var num3 = null;
console.log(String(num3));
其他类型转布尔类型
Boolean(值)
console.log(Boolean(1));//true
console.log(Boolean(0));//false
console.log(Boolean(11));//true
console.log(Boolean(-10));//true
console.log(Boolean("哈哈"));//true
console.log(Boolean(""));//false
console.log(Boolean(null));//false
console.log(Boolean(undefined));//false
转Number
- String:纯数字转换结果是字面量的形式转换,其他所有情况均为NaN。
- Boolean: true为1,false为0。
转String
所有类型转换为字符串类型就以字面量的形式进行转换。
转Boolean
- Number:除了0和NaN以外全部返回true。
- String:除了空字符串以外其他情况全为true。
- undefined:undefined是false。
- null:null是false。
-
判断相等
==判断相等的总结
1. 数字和Boolean进行比较1==true为true,2==true为false.
2. NaN == NaN 返回false
3. undefined == null 返回true
如何判断一个值是否为NaN
isNaN(exp) 如果exp的返回值是NaN则返回true
判断具体的流程
1 有NAN,一律返回false
2 有布尔类型,布尔类型转换成数字比较
3 有string类型,两种情况:
1. 对象,对象用toString方法转换成string相比。
2. 数字,string类型转换成数字进行比较
4 null和undefined不会相互转换,相等
5 有数字类型,和对象相比,对象用valueof转换成原始值进行比较
6 其他情况,一律返回false