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 相关文章推荐
JavaScript在IE和Firefox(火狐)的不兼容问题解决方法小结
Apr 13 Javascript
javascript中"/"运算符常见错误
Oct 13 Javascript
html文件中jquery与velocity变量中的$冲突的解决方法
Nov 01 Javascript
jquery设置按钮停顿3秒不可用
Mar 07 Javascript
Javascript基础教程之switch语句
Jan 18 Javascript
jQuery限制图片大小的方法
May 25 Javascript
Vue.js自定义指令的用法与实例解析
Jan 18 Javascript
基于jQuery实现Ajax验证用户名是否可用实例
Mar 25 jQuery
前端js中的事件循环eventloop机制详解
May 15 Javascript
layui 数据表格 点击分页按钮 监听事件的实例
Sep 02 Javascript
使用webpack搭建pixi.js开发环境
Feb 12 Javascript
使用JavaScript和MQTT开发物联网应用示例解析
Aug 07 Javascript
用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
WordPress中获取指定分类及其子分类下的文章数目
2015/12/31 PHP
php处理多图上传压缩代码功能
2018/06/13 PHP
JavaScript使用cookie
2007/02/02 Javascript
为调试JavaScript添加输出窗口的代码
2010/02/07 Javascript
js函数setTimeout延迟执行的简单介绍
2013/07/17 Javascript
jquery中常用的SET和GET$(”#msg”).html循环介绍
2013/10/09 Javascript
用js+iframe形成页面的一种遮罩效果的具体实现
2013/12/31 Javascript
Javascript的严格模式strict mode详细介绍
2014/06/06 Javascript
JavaScript 实现打印,打印预览,打印设置
2014/12/30 Javascript
Javascript中For In语句用法实例
2015/05/14 Javascript
利用js获取下拉框中所选的值
2016/12/01 Javascript
bootstrapValidator 重新启用提交按钮的方法
2017/02/20 Javascript
Ajax异步获取html数据中包含js方法无效的解决方法
2017/02/20 Javascript
详解JS数值Number类型
2018/02/07 Javascript
详解在微信小程序的JS脚本中使用Promise来优化函数处理
2019/03/06 Javascript
vue中使用微信公众号js-sdk踩坑记录
2019/03/29 Javascript
在layui下对元素进行事件绑定的实例
2019/09/06 Javascript
JQuery使用属性addClass、removeClass和toggleClass实现增加和删除类操作示例
2019/11/18 jQuery
纯js实现无缝滚动功能代码实例
2020/02/21 Javascript
vue-iview动态新增和删除的方法
2020/06/17 Javascript
vue 实现click同时传入事件对象和自定义参数
2021/01/29 Vue.js
python迭代器的使用方法实例
2013/11/21 Python
复习Python中的字符串知识点
2015/04/14 Python
python3安装pip3(install pip3 for python 3.x)
2018/04/03 Python
Django安装配置mysql的方法步骤
2018/10/15 Python
Python小工具之消耗系统指定大小内存的方法
2018/12/03 Python
Python递归调用实现数字累加的代码
2020/02/25 Python
谈谈python垃圾回收机制
2020/09/27 Python
Python Charles抓包配置实现流程图解
2020/09/29 Python
Guess欧洲官网:美国服饰品牌
2019/08/06 全球购物
长曲棍球装备:Lacrosse Monkey
2020/12/02 全球购物
《落花生》教学反思
2014/02/25 职场文书
2015年党支部公开承诺书
2015/01/22 职场文书
总经理检讨书范文
2015/02/16 职场文书
幼儿园音乐教学反思
2016/02/18 职场文书
2016年优秀共产党员先进事迹材料
2016/02/29 职场文书