首页 > 其他 > 详细

typeof

时间:2017-06-18 14:57:46      阅读:231      评论:0      收藏:0      [点我收藏+]

typeof 可能返回的值

  javascript中数据一共有6种数据类型,他们分别为number、undefined、null、string、boolen、object,在es6中新增一种symbol。

  typeof(number) 返回的是‘number‘ 字符串,这里的包括NaN,Infinity。

  typeof(undefined) 返回的是‘undefined‘字符串。

  typeof(null) 返回的是‘object‘字符串,null是一种特殊的对象。

  typeof(string) 返回的是‘string‘字符串。

  typeof(boolen) 返回的是‘boolen‘字符串。

  typeof(object) 当对象为数组和普通对象是返回‘object‘字符串,当对象为function时返回‘function‘字符串。

  typeof(symbol) 返回的是‘symbol‘字符串。

所以综上所述,除了null、普通object对象和数组无法用typeof区分,其他都可以用typeof来准确的判断他们的类型。

那怎么区分他们呢?

  Object.prototype.toString.call(1);//‘[object Number]‘

  Object.prototype.toString.call(‘1‘);//‘[object String]‘

  Object.prototype.toString.call(undefined);//‘[object Undefined]‘

  Object.prototype.toString.call({});//‘[object Object]‘

  Object.prototype.toString.call([]);//‘[object Array]‘

  Object.prototype.toString.call(true);//‘[object Boolen]‘

  Object.prototype.toString.call(function () {});//‘[object Function]‘

  Object.prototype.toString.call(Symbol());//‘[object Symbol]‘

值得注意的是 使用Object.prototype.toString.call传入 Object、Array、Function、Boolen、Symbol、Number等返回的都是‘[object Function]‘,因为他们自身就是方法。

 

  

typeof

原文:http://www.cnblogs.com/TonyLearning/p/7044285.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!