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连接access数据库的方法
Nov 17 Javascript
通过event对象的fromElement属性解决热区设置主实体的一个bug
Dec 22 Javascript
javascript 控制 html元素 显示/隐藏实现代码
Sep 01 Javascript
JS+CSS实现感应鼠标渐变显示DIV层的方法
Feb 20 Javascript
JavaScript图像延迟加载库Echo.js
Apr 05 Javascript
全面解析Bootstrap中form、navbar的使用方法
May 30 Javascript
Vue自定义指令介绍(2)
Dec 08 Javascript
jquery实现静态搜索功能(可输入搜索文字)
Mar 28 jQuery
聊聊那些使用前端Javascript实现的机器学习类库
Sep 18 Javascript
node实现的爬虫功能示例
May 04 Javascript
解决vue-cli webpack打包开启Gzip 报错问题
Jul 24 Javascript
Node.js API详解之 os模块用法实例分析
May 06 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
Linux下进行MYSQL编程时插入中文乱码的解决方案
2007/03/15 PHP
php实现的SESSION类
2014/12/02 PHP
PHP关键特性之命名空间实例详解
2017/05/06 PHP
解决安装WampServer时提示缺少msvcr110.dll文件的问题
2017/07/09 PHP
Chrome中模态对话框showModalDialog返回值问题的解决方法
2010/05/25 Javascript
JavaScript接口实现代码 (Interfaces In JavaScript)
2010/06/11 Javascript
JS实现在Repeater控件中创建可隐藏区域的代码
2010/09/16 Javascript
Jquery网页内滑动缓冲导航的实现代码
2015/04/05 Javascript
jQuery Ajax使用实例
2015/04/16 Javascript
Jquery遍历Json数据的方法
2015/04/20 Javascript
对js中回调函数的一些看法
2016/08/29 Javascript
jQuery点击头像上传并预览图片
2017/02/23 Javascript
Vue.js 中的 $watch使用方法
2017/05/25 Javascript
php register_shutdown_function函数详解
2017/07/23 Javascript
基于Bootstrap实现城市三级联动
2017/11/23 Javascript
Vue 组件(component)教程之实现精美的日历方法示例
2018/01/08 Javascript
0基础学习前端开发的一些建议
2020/07/14 Javascript
[20:46]Ti4循环赛第三日VG vs DK
2014/07/12 DOTA
Python获取当前时间的方法
2014/01/14 Python
python实现监控windows服务并自动启动服务示例
2014/04/17 Python
详解python中 os._exit() 和 sys.exit(), exit(0)和exit(1) 的用法和区别
2017/06/23 Python
Python使用tkinter库实现文本显示用户输入功能示例
2018/05/30 Python
使用Python进行中文繁简转换的实现代码
2019/10/18 Python
在主流系统之上安装Pygame的方法
2020/05/20 Python
Python中常见的数制转换有哪些
2020/05/27 Python
基于python实现操作redis及消息队列
2020/08/27 Python
浅析python 通⽤爬⾍和聚焦爬⾍
2020/09/28 Python
python如何用matplotlib创建三维图表
2021/01/26 Python
Trunki英国官网:儿童坐骑式行李箱
2017/05/30 全球购物
Shopee越南:东南亚与台湾电商平台
2019/02/03 全球购物
static函数与普通函数有什么区别
2015/12/25 面试题
考博专家推荐信模板
2013/12/02 职场文书
护理专科自荐书范文
2014/02/18 职场文书
2015年销售部工作总结范文
2015/04/27 职场文书
社区党务工作总结2015
2015/05/19 职场文书
python脚本框架webpy模板控制结构
2021/11/20 Python