typeof

来源:互联网 发布:黑格尔的哲学思想知乎 编辑:程序博客网 时间:2024/06/17 16:45

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");

的结果是

truetruetruetruetrue

如果不声明变量或不赋值,则出现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);//这里输出时间1console.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

原创粉丝点击