js中
五种简单数据类型;
- undefined
- null
- boolean
- number
- string
一种复杂的数据类型
- object
如何判断数据类型呢?
typeof可能返回一下字符串
- undefined
- boolean
- string
- number
- object
- function
下面是几个例子:
var num=1;
console.log((typeof num)==="number");
console.log((typeof(num+"1"))=="string");
console.log((typeof(num+"1"+1))=="string");
console.log((typeof(num+"1"+1-1))==="number");
console.log((typeof(num+"1"+1-1+"1"))=="string");
的结果是
true
true
true
true
true
如果不声明变量或不赋值,则出现undefined,
var a;
console.log(typeof a);//undefined
但是如果清空变量;但是会出现以下情况
var a=null;
console.log(typeof a)//输出object
new Date()输出的是字符串,但是以下代码输出的结果确实object
var now=new Date();
console.log(typeof now)//这里返回的是object
var now=new Date();
console.log(now+1);//这里输出时间1
console.log(typeof new Date());//输出object
还有比较神奇的NaN
console.log(typeof NaN);//输出number
console.log(typeof true);//输出boolean
有时候,typeof会返回一些令人迷惑但技术上却正确的值。
比如typeof null返回“object”,因为特殊值null被认为是一个空的对象引用;safari 5以及以前版本,chrome7以及以前版本在对正则表达式调用typeof操作符时会返回function,其他浏览器会返回object