网站首页 > 文章精选 正文
1. JavaScript中的数据类型
JavaScript的数据类型分为两类:原始类型(Primitive type)、引用类型(Reference type),二者在内存中的存储位置不同。判断一个变量属于哪种类型,这两类数据类型的判断方式也有所有不同,分别使用typeof和instanceof进行检测。
原始类型
原始类型就叫做基本类型,在ECMAScript 5标准中共规定了5种基本类型,分别是:数字类型(Number)、字符串类型(String)、布尔值(Boolean)、Null、Undefined。在ECMAScript 2015(ECMAScript 6)中,还新增了Symbol。
原始类型存储在内存栈(stack)中,也就是说直接存储的变量的值。对于原始类型的访问是“值访问”,我们可以直接操作变量的实际值。
引用类型
除了6种原始类型外,都是引用类型。主要有:对象类型(Object)、数组类型(Array)、日期类型(Date)、错误类型(Error)、正则表达式类型(RegEx)、函数类型(Function)等。在ECMAScript 2015中,还新增了Promise、Map等引用类型。
引用类型是存储在内存堆(heap)中对象,也就是说直接存储的变量的值是一个指向原对象内存指针。对于原始类型的访问是“引用访问”,我们不能直接操作对象的实际内存空间。
2. 原始类型的检测
检测原始类型时,除“Null”类型外,都可以使用“typeof”操作符检测。“typeof”检测后会返回一个表示检测对象类型的字符串。“typeof”语法如下:
typeof <变量>
或者
typeof(<变量>)
使用“typeof”进行原始类型检测时,其返回值分别如下:
Number类型-返回'number'
String类型-返回'string'
Boolean类型-返回'boolean'
Undefined类型-返回'undefined'
Null类型-返回'object'
Symbol类型-返回'symbol'
示例如下:
对于原始类型中“Null”类型进行“typeof”检测时返回值为'object',要正确判断是否是“Null”类型,应该使用“===”和“!==”进行比较。
3. 引用类型的检测
除原始类型外都是引用类型,而JavaScript中Object类型是所有引用类型的基类型,所以大多数引用类型使用typeof检测时都会返回'object'。
示例如下:
如上所示,除“Function”,其它引用类型都返回了'object',“typeof”运算符并不能有效检测引用类型。
对于引用类型来说,更推荐使用“instanceof”运算符检测。其语法结构为:
value instanceof constructor
对上面引用类型做“instanceof”检测结果如下:
来自:http://itbilu.com
猜你喜欢
- 2025-05-03 爬虫实战(二)爬取Ajax数据(爬取数据的代码)
- 2025-05-03 Python Matplotlib 入门教程:可视化数据的基石
- 2025-05-03 突破亚马逊壁垒,Web Unlocker API 助您轻松获取数据
- 2025-05-03 最实用的大数据可视化分析工具汇总
- 2025-05-03 专题|外行人看大数据 十款最常用的数据可视化工具
- 2025-05-03 网络爬虫——从网站中提取有用的数据
- 2025-05-03 这6款数据可视化软件,不会写代码也能用!
- 2025-05-03 B端技术常识:MVC模式(什么是mvc模式,各模块的作用是什么)
- 2025-05-03 越晚搞懂 MySQL JSON 数据类型,你就越吃亏
- 2025-05-03 JSON数据类型详细总结(json数据的数据值可以是哪些)
- 最近发表
- 标签列表
-
- newcoder (56)
- 字符串的长度是指 (45)
- drawcontours()参数说明 (60)
- unsignedshortint (59)
- postman并发请求 (47)
- python列表删除 (50)
- 左程云什么水平 (56)
- 计算机网络的拓扑结构是指() (45)
- 稳压管的稳压区是工作在什么区 (45)
- 编程题 (64)
- postgresql默认端口 (66)
- 数据库的概念模型独立于 (48)
- 产生系统死锁的原因可能是由于 (51)
- 数据库中只存放视图的 (62)
- 在vi中退出不保存的命令是 (53)
- 哪个命令可以将普通用户转换成超级用户 (49)
- noscript标签的作用 (48)
- 联合利华网申 (49)
- swagger和postman (46)
- 结构化程序设计主要强调 (53)
- 172.1 (57)
- apipostwebsocket (47)
- 唯品会后台 (61)
- 简历助手 (56)
- offshow (61)