JS中的数据类型一共有六种:number,string,boolean,undefined,null和object
其中除了object为复杂(引用)数据类型外,其余都为基本数据
一、number
Number数据类型是数字,可以是整型也可以是浮点数var a=12,b=12.2;
二、string
String数据类型有零个或者多个字符组成,字符串必须放在" "/’ '内
var a='man'或者var a="man"
三、Boolean
布尔数据类型:ture/false
四、undefined
undefined通常是没有赋值的变量,通过typeof可以对数据类型进行判断
var a; console.log(typeof(a));
控制台结果为undefined
五、null
表示空var a=null; //将a清空
六、object
引用数据类型:对象,由属性和方法构成
常见的有array,window,document,date,object
数据类型的查看与转换:
查看:可以使用 typeof 运算符来确定 JavaScript 变量的数据类型。
typeof "Bill" // 返回 "string"
typeof 3.14 // 返回 "number"
typeof NaN // 返回 "number"
typeof false // 返回 "boolean"
typeof [1,2,3,4] // 返回 "object"
typeof {name:'Bill', age:62} // 返回 "object"
typeof new Date() // 返回 "object"
typeof function () {} // 返回 "function"
typeof myCar // 返回 "undefined" *
typeof null // 返回 "object"
请注意:
NaN 的数据类型是数值
数组的数据类型是对象
日期的数据类型是对象
null 的数据类型是对象
未定义变量的数据类型是 undefined
尚未赋值的变量的数据类型也是 undefined
转换:
1、隐性转换;即为自动转换
5 + null // 返回 5 因为 null 被转换为 0
"5" + null // 返回 "5null" 因为 null 被转换为 "null"
"5" + 2 // 返回 52 因为 2 被转换为 "2"
"5" - 2 // 返回 3 因为 "5" 被转换为 5
"5" * "2" // 返回 10 因为 "5" 和 "2" 被转换为 5 和 2
2、强制转换
1》number
Number();//把字符串转化为数字,空字符串转为0,其他转为NaN(Not a number,不是数字)
Number("3.14") // 返回 3.14
Number(" ") // 返回 0
Number("") // 返回 0
Number("99 88") // 返回 NaN
Number(false) // 返回 0
Number(true) // 返回 1
parseInt(); //转化为整数
parseInt("165.541") //返回165
parseInt("null") // 返回NaN
parseInt("165sad") //返回165
parseFloat();//转化为浮点数
parseFloat("null") // 返回NaN
parseFloat(null) // 返回NaN
parseFloat("51656.5null") // 返回51656.5
一元+运算符,可把变量转换为数字
var y = "5"; // y 是字符串
var x = + y; // x 是数字
var y = "Bill"; // y 是字符串
var x = + y; // x 是数字 (NaN)
2》string
String(); //全局方法
String(x) // 从数值变量 x 返回字符串
String(123) // 从数值文本 123 返回字符串
String(100 + 23) // 从表达式中的数值返回字符串
String(false) // 返回 "false"
String(true) // 返回 "true"
函数名.toString()
x.toString()
(123).toString()
(100 + 23).toString()
false.toString() // 返回 "false"
true.toString() // 返回 "true"
附表:
原始值 | 转换为数字 | 转换为字符串 | 转换为逻辑Boolean |
---|---|---|---|
false | 0 | "false" | false |
true | 1 | "true" | true |
0 | 0 | "0" | false |
1 | 1 | "1" | true |
"0" | 0 | "0" | true |
"000" | 0 | "000" | true |
"1" | 1 | "1" | true |
NaN | NaN | "NaN" | false |
Infinity | Infinity | "Infinity" | true |
-Infinity | -Infinity | "-Infinity" | true |
"" | 0 | "" | false |
"20" | 20 | "20" | true |
"twenty" | NaN | "twenty" | true |
[ ] | 0 | "" | true |
[20] | 20 | "20" | true |
[10,20] | NaN | "10,20" | true |
["twenty"] | NaN | "twenty" | true |
["ten","twenty"] | NaN | "ten,twenty" | true |
function(){} | NaN | "function(){}" | true |
{ } | NaN | "[object Object]" | true |
null | 0 | "null" | false |
undefined | NaN | "undefined" | false |