本文实例讲述了javascript中的基本数据类型以及类型检测的几种方法。分享给大家供大家参考,具体如下:

1.JS中有6种基本的数据类型,JS中的所有操作都是基于这五种基本类型得到的。
(1)Object
对象类型
(2)number
数字类型
(3)String
字符串类型
(4)null
(5)underfined
(6)boolean
布尔类型:true或者为false
I)JS中的数据类型转换(非严格模式下)
“12”==12 // true 在非严格模式下,字符串可以向数字转换 true==1 // true 布尔值在等号两边会尝试转换为0或者1 “1”==true //true null==underfined //true new Object()==new Object() //true NaN==NaN //false
II)JS中的数据类型转换(非严格模式下)
上述中的等号均不成立
注:特别的如果为基本类型中的string或者number,在必要的情况下,可以将string或者number转化为对象object类型,转化不是持续的。
比如:
var x=”hello” ; alert(a.length) // 5
数据类型中的隐式转化补充:
“32”+32 //转化为string "32"-32 //转化为number
JS中的类型检测方法
(1)通过typeof来进行类型检测
我们先来看几个例子:
typeof 100 —->number
typeof “hello” ——>string
typeof true —–> boolean
typeof Number ——>function
typeof new Object()——->object
typeof Object ——->function
typeof null ——–>object
typeof underfined ——–>underfined
总结:如果右边的是基本类型,则typeof会尝试得到最基本的类型,比如number,string等等,如果是函数名,那么则返回function,这里Object,Number,String,等等都可以看成函数名,如果右边是一个基本的对象,则返回object(返回的都是小写哦)。
注:我们发现typeof null,结果返回了object,这是一个很早之前的BUG,一直沿用至今
试用范围:如果通过typeof来判断类型,适用于判定基本类型,或者判断是否为函数(function)。
2.instanceof
同样举例来说明:
[1,2] instanceof Array ——> true
“1,2” instanceof Array ——->false
总结:instanceof 会沿着原型链查找,如果左边对象的原型链上,具有右边的对象,那么会返回true,并且注意只用于判断扩展的对象类型(非number,string等)
比如:
instanceof Number —–> false
"hell" instanceof String ------>string
补充:instanceof的右边必须是函数,或者是构造器,如果不是则会报错,检测的是左边的对象的原型链上,是否有右边函数的prototype。
3.Object.prototype.toString
通过对象原型上的toSting方法,同样也可以判断类型,我们来举例子:
Object.prototype.toString.apply([]) ——>[object Object]
Object.prototype.toString.apply(function(){}) —->[object Function]
Object.prototype.toString.apply(Number) ——->[object Function]
Object.prototype.toString.apply(String) ——–>[object Function]
Object.prototype.toString.apply(null) ———–>[object Null]
Object.prototype.toString.apply(undefined)–>[object Undefined]
使用类型:原生对象和基本类型
此外还有
(4)constructor
(5)duck type等
更多关于JavaScript相关内容可查看本站专题:《javascript面向对象入门教程》、《JavaScript中json操作技巧总结》、《JavaScript切换特效与技巧总结》、《JavaScript查找算法技巧总结》、《JavaScript错误与调试技巧总结》、《JavaScript数据结构与算法技巧总结》、《JavaScript遍历算法与技巧总结》及《JavaScript数学运算用法总结》
希望本文所述对大家JavaScript程序设计有所帮助。
# javascript
# 数据类型
# 类型检测
# JS中检测数据类型的几种方式及优缺点小结
# 浅谈javascript的数据类型检测
# 关于JS数据类型检测的多种方式总结
# js数据类型检测总结
# JavaScript中检测数据类型的四种方法
# 在javaScript中检测数据类型的几种方式小结
# JavaScript数据类型检测代码分享
# js学习总结_基于数据类型检测的四种方式(必看)
# JS数组索引检测中的数据类型问题详解
# js中各种数据类型检测和判定的实战示例
# 的是
# 都是
# 转化为
# 模式下
# 是一个
# 几个
# 相关内容
# 遍历
# 中有
# 适用于
# 这是一个
# 数据结构
# 给大家
# 或者是
# 布尔
# 如果不是
# 报错
# 更多关于
# 很早
# 转换为
相关文章:
阿里云高弹*务器配置方案|支持分布式架构与多节点部署
建站之星如何开启自定义404页面避免用户流失?
电商网站制作公司有哪些,1688网是什么意思?
孙琪峥织梦建站教程如何优化数据库安全?
济南企业网站制作公司,济南社保单位网上缴费步骤?
唐山网站制作公司有哪些,唐山找工作哪个网站最靠谱?
已有域名如何快速搭建专属网站?
如何在IIS管理器中快速创建并配置网站?
微网站制作教程,我微信里的网站怎么才能复制到浏览器里?
简易网站制作视频教程,使用记事本编写一个简单的网页html文件?
网站插件制作软件免费下载,网页视频怎么下到本地插件?
如何在万网ECS上快速搭建专属网站?
测试制作网站有哪些,测试性取向的权威测试或者网站?
建站主机选哪家性价比最高?
如何用免费手机建站系统零基础打造专业网站?
如何快速生成专业多端适配建站电话?
建站之星如何一键生成手机站?
如何选择服务器才能高效搭建专属网站?
建站上市公司网站建设方案与SEO优化服务定制指南
IOS倒计时设置UIButton标题title的抖动问题
网站制作费用多少钱,一个网站的运营,需要哪些费用?
Python路径拼接规范_跨平台处理说明【指导】
c++怎么使用类型萃取type_traits_c++ 模板元编程类型判断【方法】
如何在IIS中新建站点并配置端口与IP地址?
广州顶尖建站服务:企业官网建设与SEO优化一体化方案
网站制作网站,深圳做网站哪家比较好?
c++如何打印函数堆栈信息_c++ backtrace函数与符号名解析【方法】
如何在Windows服务器上快速搭建网站?
如何在建站之星网店版论坛获取技术支持?
如何通过虚拟主机空间快速建站?
如何撰写建站申请书?关键要点有哪些?
海南网站制作公司有哪些,海口网是哪家的?
如何制作算命网站,怎么注册算命网站?
高性能网站服务器配置指南:安全稳定与高效建站核心方案
如何通过虚拟机搭建网站?详细步骤解析
如何选择网络建站服务器?高效建站必看指南
详解免费开源的.NET多类型文件解压缩组件SharpZipLib(.NET组件介绍之七)
如何选购建站域名与空间?自助平台全解析
交易网站制作流程,我想开通一个网站,注册一个交易网址,需要那些手续?
Swift中switch语句区间和元组模式匹配
建站之星安装步骤有哪些常见问题?
如何快速搭建高效WAP手机网站吸引移动用户?
建站之星CMS建站配置指南:模板选择与SEO优化技巧
实惠建站价格推荐:2025年高性价比自助建站套餐解析
威客平台建站流程解析:高效搭建教程与设计优化方案
深圳 网站制作,深圳招聘网站哪个比较好一点啊?
Python多线程使用规范_线程安全解析【教程】
保定网站制作方案定制,保定招聘的渠道有哪些?找工作的人一般都去哪里看招聘信息?
,网页ppt怎么弄成自己的ppt?
视频网站app制作软件,有什么好的视频聊天网站或者软件?
*请认真填写需求信息,我们会在24小时内与您取得联系。