js 基本数据类型
undefined null Boolean Number string
特殊数据类型
Object(包含:Object Function String Number Boolean Array Regexp Data Global Math Error)
数据类型的转换
var a = "1";
typeof a; //string
var num = typeof Number(a); //number
typeof String(num); //string
parseInt(); //整形 向下取整
parseFloat(); //浮点型 超出一定范围会有误差
/*
*大概步骤先把参数转成字符串, 去掉空白字符 ,非数字字符 返回 NaN 最后返回有效的浮点数
*只处理 “+-”、 “0-9”、 小数点、符号e, 遇到其他字符就停止解析
*/
Math.floor(); //向下取整
PS: 需要注意
NaN 的数据类型是 number
数组(Array)的数据类型是 object
日期(Date)的数据类型为 object
null 的数据类型是 object
未定义变量的数据类型为 undefined
如果对象是 JavaScript Array
或 JavaScript Date
,我们就无法通过 typeof
来判断他们的类型,因为都是 返回 Object
因此就需要借助constructor
属性来判断。
/*constructor 属性*/
返回所有js变量的构造函数
`"John".constructor // 返回函数 String() { [native code] }
(3.14).constructor // 返回函数 Number() { [native code] }
false.constructor // 返回函数 Boolean() { [native code] }
[1,2,3,4].constructor // 返回函数 Array() { [native code] }
{name:'John', age:34}.constructor // 返回函数 Object() { [native code] }
new Date().constructor // 返回函数 Date() { [native code] }
function () {}.constructor // 返回函数 Function(){ [native code] }