javascript基本数据类型及类型检测常用方法小结


Posted in Javascript onDecember 14, 2016

本文实例讲述了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 目录列举函数
Nov 06 Javascript
jQuery数组处理方法汇总
Jun 20 Javascript
判断是否安装flash player及当前版本的JS代码
Aug 08 Javascript
Jquery中CSS选择器用法分析
Feb 10 Javascript
纯Javascript实现ping功能的方法
Mar 20 Javascript
jQuery实现表格行上下移动和置顶效果
Jun 05 Javascript
JavaScript检测字符串中是否含有html标签实现方法
Jul 01 Javascript
Ionic如何创建APP项目
Jun 03 Javascript
JS实现二叉查找树的建立以及一些遍历方法实现
Apr 17 Javascript
jQuery实现 RadioButton做必选校验功能
Jun 15 jQuery
5个你不知道的JavaScript字符串处理库(小结)
Jun 01 Javascript
vue前端和Django后端如何查询一定时间段内的数据
Feb 28 Vue.js
用v-html解决Vue.js渲染中html标签不被解析的问题
Dec 14 #Javascript
关于BootStrap modal 在IOS9中不能弹出的解决方法(IOS 9 bootstrap modal ios 9 noticework)
Dec 14 #Javascript
实例解析angularjs的filter过滤器
Dec 14 #Javascript
微信小程序 input输入框控件详解及实例(多种示例)
Dec 14 #Javascript
javascript中对象的定义、使用以及对象和原型链操作小结
Dec 14 #Javascript
JS中使用new Date(str)创建时间对象不兼容firefox和ie的解决方法(两种)
Dec 14 #Javascript
javascript中的try catch异常捕获机制用法分析
Dec 14 #Javascript
You might like
php模拟asp中的XmlHttpRequest实现http请求的代码
2011/03/24 PHP
再Docker中架设完整的WordPress站点全攻略
2015/07/29 PHP
Laravel框架Request、Response及Session操作示例
2019/05/06 PHP
php字符串过滤strip_tags()函数用法实例分析
2019/06/24 PHP
让你的PHP,APACHE,NGINX支持大文件上传
2021/03/09 PHP
使用jquery与图片美化checkbox和radio控件的代码(打包下载)
2010/11/11 Javascript
javascript实现限制上传文件大小
2015/02/06 Javascript
javascript鼠标右键菜单自定义效果
2020/12/08 Javascript
BootStrap与validator 使用笔记(JAVA SpringMVC实现)
2016/09/21 Javascript
使用Javascript监控前端相关数据的代码
2016/10/27 Javascript
输入框点击时边框变色效果的实现方法
2016/12/26 Javascript
对于Javascript 执行上下文的全面了解
2017/09/05 Javascript
nodeJS微信分享
2017/12/20 NodeJs
angular将html代码输出为内容的实例
2018/09/30 Javascript
通过实例讲解JS如何防抖动
2019/06/15 Javascript
Vue的props父传子的示例代码
2020/05/20 Javascript
通过代码实例展示Python中列表生成式的用法
2015/03/31 Python
使用Python简单的实现树莓派的WEB控制
2016/02/18 Python
Python实现获取磁盘剩余空间的2种方法
2017/06/07 Python
Python常见字典内建函数用法示例
2018/05/14 Python
Python操作mongodb数据库进行模糊查询操作示例
2018/06/09 Python
python版大富翁源代码分享
2018/11/19 Python
Python实现判断一个整数是否为回文数算法示例
2019/03/02 Python
Python单元测试与测试用例简析
2019/11/09 Python
2020最新pycharm汉化安装(python工程狮亲测有效)
2020/04/26 Python
OpenCV Python实现图像指定区域裁剪
2021/03/12 Python
Python自动登录QQ的实现示例
2020/08/28 Python
UI自动化定位常用实现方法代码示例
2020/10/27 Python
HTML5中drawImage用法分析
2014/12/01 HTML / CSS
Linux如何压缩可执行文件
2013/10/21 面试题
大学学习生活感言
2014/01/18 职场文书
面试后感谢信
2014/02/01 职场文书
2015年圣诞节寄语
2015/08/17 职场文书
护士医德医风心得体会
2016/01/25 职场文书
python实现语音常用度量方法的代码详解
2021/05/25 Python
Java Kafka 消费积压监控的示例代码
2021/07/01 Java/Android