typeof
typeof:查看javascript变量的类型
NaN 的数据类型是 number
数组(Array)的数据类型是 object
日期(Date)的数据类型为 object
null 的数据类型是 object
未定义变量的数据类型为 undefined
constructor属性
返回所有javascript变量的构造函数;
document.getElementById('demo').innerHTML = 'job'.constructor;
查看对象类型是否正确:
var array = [];
document.getElementById('demo').innerHTML = isArray(array);
function isArray(array) ();
类型转换
将数字转换为字符串:
var a = 123;
document.getElementById('demo').innerHTML = a.String();
document.getElementById('demo').innerHTML = a.toString();
将布尔值转换为字符串:
String(false);//'false'
String(true);//'true'
false.toString();//'false'
true.toString();//'true'
将字符串转换为数字:
Number('3.14');//3.14
Number(' ');//0
Number('');//0
Number('99 22');//NaN
一元运算符:
Operator + 可用于将变量转换为数字
var y = '5';
var x = + y;
document.getElementById('demo').innerHTML = typeod y + '<br>' + typeof x;
返回:string[y] number[x]
如果变量不能转换,它仍然会是一个数字,但值为 NaN (不是一个数字)
var y = '5';
var x = + y;
document.getElementById('demo').innerHTML = typeod x + '<br>' + x;
返回:number NaN
将布尔值转换为数字:
Number(false);//0
Number(true);//1
将日期转换为数字:
d = new Date();
Number(d);//424243221
d.getTime();//21313131
自动转换类型:
当 JavaScript 尝试操作一个 "错误" 的数据类型时,会自动转换为 "正确" 的数据类型。
5 + null // 返回 5 null 转换为 0
"5" + null // 返回"5null" null 转换为 "null"
"5" + 1 // 返回 "51" 1 转换为 "1"
"5" - 1 // 返回 4 "5" 转换为 5
自动转换为字符串:
当你尝试输出一个对象或一个变量时 JavaScript 会自动调用变量的 toString() 方法:
document.getElementById("demo").innerHTML = myVar;
// if myVar = {name:"Fjohn"} // toString 转换为 "[object Object]"
// if myVar = [1,2,3,4] // toString 转换为 "1,2,3,4"
// if myVar = new Date() // toString 转换为 "Fri Jul 18 2014 09:08:55 GMT+0200"
数字和布尔值也经常相互转换:
// if myVar = 123 // toString 转换为 "123"
// if myVar = true // toString 转换为 "true"
// if myVar = false // toString 转换为 "false"