JavaScript中的数据类型有几种?如何判断JavaScript中的数据类型

javascript中的数据类型有几种?相信有很多刚刚接触javascript的朋友都会有这样的疑问。本章就给大家介绍javascript中的数据类型有几种?如何判断javascript中的数据类型。有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助。

如何判断JavaScript中的数据类型?我们可以用到以下几种方法:typeof、instanceof、 constructor、 prototype方法

如何判断js中的类型呢,先举几个例子:

var a = "iamstring.";var b = 222;var c= [1,2,3];var d = new Date();var e = function(){alert(111);};var f = function(){this.name="22";};

登录后复制

1、最常见的判断方法:typeof()方法

alert(typeof a)   ------------> stringalert(typeof b)   ------------> numberalert(typeof c)   ------------> objectalert(typeof d)   ------------> objectalert(typeof e)   ------------> functionalert(typeof f)   ------------> function

登录后复制

其中typeof返回的类型都是字符串形式,需注意,例如:

立即学习“Java免费学习笔记(深入)”;

alert(typeof a == "string") -------------> truealert(typeof a == String) ---------------> false

登录后复制

另外typeof 可以判断function的类型;在判断除Object类型的对象时比较方便。

2、判断已知对象类型的方法: instanceof

alert(c instanceof Array) ---------------> truealert(d instanceof Date)alert(f instanceof Function) ------------> truealert(f instanceof function) ------------> false

登录后复制

注意:instanceof 后面一定要是对象类型,并且大小写不能错,该方法适合一些条件选择或分支。

3、根据对象的constructor判断: constructor

alert(c.constructor == Array) ----------> truealert(d.constructor == Date) -----------> truealert(e.constructor == Function) -------> true

登录后复制

注意: constructor 在类继承时会出错

举例:

function A(){};function B(){};A.prototype = new B(); //A继承自Bvar aObj = new A();alert(aobj.constructor === B) -----------> true;alert(aobj.constructor === A) -----------> false;

登录后复制

而instanceof方法不会出现该问题,对象直接继承和间接继承的都会报true:

alert(aobj instanceof B) ----------------> true;alert(aobj instanceof B) ----------------> true;

登录后复制

言归正传,解决construtor的问题通常是让对象的constructor手动指向自己:

aobj.constructor = A; //将自己的类赋值给对象的constructor属性alert(aobj.constructor === A) -----------> true;alert(aobj.constructor === B) -----------> false; //基类不会报true了;

登录后复制

4、通用但很繁琐的方法: prototype

alert(Object.prototype.toString.call(a) === ‘[object String]’) -------> true;alert(Object.prototype.toString.call(b) === ‘[object Number]’) -------> true;alert(Object.prototype.toString.call(c) === ‘[object Array]’) -------> true;alert(Object.prototype.toString.call(d) === ‘[object Date]’) -------> true;alert(Object.prototype.toString.call(e) === ‘[object Function]’) -------> true;alert(Object.prototype.toString.call(f) === ‘[object Function]’) -------> true;

登录后复制

大小写不能写错,比较麻烦,但胜在通用。

通常情况下用typeof 判断就可以了,遇到预知Object类型的情况可以选用instanceof或constructor方法。

以上就是对JavaScript中的数据类型有几种?如何判断JavaScript中的数据类型的全部介绍,如果您想了解更多有关JavaScript视频教程,请关注PHP中文网。

以上就是JavaScript中的数据类型有几种?如何判断JavaScript中的数据类型的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2737720.html

(0)
上一篇 2025年3月8日 01:38:38
下一篇 2025年3月7日 15:55:11

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • 2898站长资源平台:如何判断网站是否被降权?

      网站被降权算是站长就不想遇到的情况了吧,意味着之前所做的优化、推广工作都白费了。那么,如何判断网站是否被降权?接下来2898站长资源平台小编就跟大家分享下判断网站是否被降权的方法,一起来看看吧!   1.去site域名,看看网站是不是在…

    2025年2月3日
    500
  • SEO优化如何判断关键词的竞争难易程度?

      在关键词的选择过程中,SEOer会先对选中的关键词进行分析研究,再判断它是否合适,研究过程中发现竞争过于激烈或者不符合经济效应的关键词都会被过滤掉。而那些具有潜在价值又没被开发的关键词则会优先选中。那么,如何判断关键词的竞争难易程度?下…

    2025年2月2日
    500
  • 如何判断友情链接的质量?

      友情链接是网站优化不可缺少的一部分,这里指的是高质量的友情链接。那怎么去评判一个友链是好还是坏呢?接下来2898站长资源平台小编就跟大家分享下判断友情链接质量的方法,一起来看看吧!   1、链接方式   友情链接的方式可分为两类,即互链…

    2025年2月2日
    500
  • 如何判断一个网站整体质量的好与差

    大多数的人判断网站质量好与坏都是依靠第三方工具的“权重”来判断,而实际上权重判断的绝非最佳标准,所以要想仔细的分析一个网站的质量高低,还得靠人工深度分析这几个数据。 上图这个站,是我十天前花4000元收购的,当时给了很多相关的seo人员分析…

    2025年1月14日 好文分享
    1200
  • 如何判断一件事情是否值得坚持?

    归根结底,你要努力弄清楚什么事情值得,什么事情不值得。 上一周我因工作去阿拉斯加乘船游览,并为自己接下来的一本书撰写了很多内容。这幅图也许是现代写作职业的缩影:美酒、笔记本电脑以及大海……你需要的就这么多! 3. 机…

    2025年1月13日
    900
  • 如何判断一个网站是不是骗人的?

    互联网上的网站实在是太多了,截至2015年12月,中国网民规模达6.88亿,互联网普及率为50.3%;手机网民规模达6.2亿,占比提升至90.1%,无线网络覆盖明显提升,网民Wi-Fi使用率达到91.8%。(数据来自互联网)我们处在21世纪…

    2025年1月13日 好文分享
    1000
  • 如何判断一家创业公司是否值得加入?

    导读:越来越多的人开始把求职目标从大公司转移到了创业公司上,那么如何判断一家创业公司是否值得加入呢?是考虑“公司品牌如何”、“直接上司好不好”、“我是否有很大的发展空间”等吗,还是有其他的一些标准呢?我们一起来看看。 如果你只是作为一个普通…

    2025年1月13日
    1100
  • 如何判断QQ空间的真实人气?

    QQ空间,是一个非常不错的新媒体营销平台,根据我的观察,现在越来越多的自媒体、自明星人选择了把首发平台(甚至主要平台)放在QQ空间上来了。但是对于不少新关注到QQ空间的朋友来说,还存在一些认识上的误区,有很多朋友容易被单纯的数字所蒙弊,比如…

    2025年1月13日
    1100
  • 裸钻的回收价格怎么样?如何判断价格?

      对于现在年轻的消费者来说,时尚便是他们的追求,即使是购买钻戒也不例外。而钻戒定制正好可以满足个性化的需求,这样可以充分展示自己的审美个性,但很多裸钻定制的消费者经常会遇到不适合打造钻戒的情况,裸钻闲置在家里也没用,其实这种裸钻是可以进行…

    2025年1月2日
    1300
  • 我们如何判断钻石首饰成色好不好?

           钻石颜色作为最重要的钻石分级标准之一,以无色的最好,钻石颜色越浅,表明钻石越纯净,但颜色等级越高钻石价格也就越高,自然其钻石回收价格也越高,如何判断钻石首饰成色呢?我们都知道钻石的颜色等级高的,价格也高,性价也比较高的。   …

    2024年12月24日
    1600

发表回复

登录后才能评论