数据类型
基本数据类型与应用
- number类型,用于编写程序逻辑运算
- string类型,用于展示,或建立与数组的联系
- boolear类型,用于条件句,或者循环语句
- undefined类型,用于他表示某变量声明了但是没有赋值,用于判断函数运行是否有结果
- null类型,用于清理内存
数据类型的转换
其他类型转换为Number
例如:
- var str = ‘1324’;
- var str1 = ‘非数字字符’;
- var str2 = ’ ';
- var str3=[];
- var str4={};
-
数字字符直接转
-
其他字符NaN NaN不能进行运算要么是NaN,要么是false
-
空字符转换为0,纯空格字符也是零
-
true 1 , false 0
-
数组和对象不能直接转.都是先转为字符串,然后转为NaN.
而对象不管是否为空,都先转换为字符串[object,Object] -
"+"遇见字符串身份是一定是连接运算符.
其他类型转换为String
-
String( 123 ) //‘123’
-
String( true ) //‘true’
-
String( false ) //‘false’
-
String( undefined ) //‘undefined’
-
String( null ) //‘null’
-
String( [ ] ) //’’
-
String( [1, 2, 3] ) //‘1,2,3’
-
String( {} ) //"[object Object]"
-
String( {name: “aaa”} )//"[object Object]"
注意: 什么情况下其他数据类型会转化为string?
1.其他类型遇到连接运算符就会转换为字符串
2.数组或对象进行运算的时候先转字符串[object,Object]
其他类型转换为Boolean
以上布尔值均为false
- console.log(Boolean(false));
- console.log(Boolean(0));
- console.log(Boolean(’’));
- console.log(Boolean(undefined));
- console.log(Boolean(null));
- console.log(Boolean(NaN));
注意:什么情况下会转换为布尔类型
1.比较运算符,个别情况下的关系运算符
数据类型的验证
var date;
-
验证是否是number
-
var isNum = typeof(date) === ‘number’;
-
验证是否是string
-
var isStr = typeof(date) === ‘string’;
-
验证是否是Boolean
-
var isBool = typeof(date) === ‘Boolean’;
-
验证是否是nan
-
var isNaN_ = isNaN(date); //实参:待验证数据,输出验证结果
-
验证是否为undefined
-
var isUdf = date === undefined;
-
验证是否为null
-
var isNull = !date && !isNaN(date) && typeof(date) != “undefined” && date != 0;
-
验证是否为数组
-
var isArr = Array.isArray(date); //是true 不是false
-
验证是否为对象
-
var isObj = date.constructor === Object; //是true 不是false