读书笔记之JavaScript中的数据类型
JavaScript严格意义上分为ECMAScript、DOM、BOM。ECMAScript是一门真正意义上的语言,独立于浏览器,浏览器只是它的一个宿主环境。DOM(文档对象模型),为ECMAScript操作浏览器网页内容提供接口。BOM(浏览器对象模型),用来控制浏览器(宽度、高度、新窗口打开网页……),提供与浏览器交互的接口。以上三种结合起来,才是真正的JavaScript。
ECMAScript的变量类型是松散的,即为弱类型,用var声明一个变量以后就可以保存任何类型的数据。如果你是从Java、C、C++甚至C#等强类型的语言转过来学JavaScript的话,可能会有些不适应。表面上看脱离的数据类型的束缚可能会很轻松愉快自由,但是实际上这种弱类型的语言,要注意的地方会更多,让我觉得条条框框比强类型语言还多。
ECMAScript中有5中简单数据类型(基本数据类型),分别是:Undefined、Null、Number、String、Boolean,还有一种复杂类型数据:Object。
Undefined:Undefined类只有一个特殊的值,即为undef。使用var声明了变量但是还未赋值的变量,默认值就是undefined。
Null:Null类也只有一个特殊的值,即为null。null表示空对象指针,实际上undefined是派生自null的。所以在判断两者是否相等时,返回值为true。
alert(null == undefined); //true
Boolean:Boolean类有两个值,即为true和false。即为可以使用Boolean()函数强制转换其他类型的数据到bool值。对应关系如下:
| 数据类型 | 转换为true的值 | 转换为false的值 |
| Boolean | true | false |
| String | 任何非空字符 | “”(空字符串) |
| Number | 任何非零数字值(包括无穷大) | 0和NaN |
| Object | 任何对象 | null |
| Undefined | n/a(不适用) | undefined |
Number:ECMAScript中最引人关注的数据类型。实际上Number类型包括浮点类型和整数类型。
整数类型除了可以表示十进制整数以外,还可以表示八进制以及十六进制。如果要保存八进制数,数字开头必须是0,然后是八进制数,如果数中有某一位或多位大于7
,则会被当做十进制解析,前导零将会被忽略。十六进制开头必须是0x,后面的a~f可以大写也可以小写。
var intNum = 55; //整数 var octalNum1 = 070; //八进制的56
var octalNum2 = 079; //无效的八进制数,被当做十进制数解析,79
var octalNum3 = 08; //无效的八进制数,被当做十进制数解析,8 var hexNum1 = 0xA; //十六进制的10
var hexNum2 = 0x1f; //十六进制的31
浮点数值也就是数值中包含一个小数点,并且小数点后面至少有一位数字的数。如果小数点后面没有任何数字,则会被当做整数存储。
var floatNum1 = 1.; //解析为1
var floatNum2 = 10.0 //解析为10
对于极大或极小的浮点数可以用科学计数法表示。浮点数的最高精度是17位小数,但是在计算时精度却远不如整数,小小的舍入误差会导致无法测试特定浮点数的值。 比如0.1+0.2的值不是0.3,而是0.30000000000000004.因此,永远不要试图测定某个浮点数的值。
NaN:即为非数值(Not a number)。任何涉及NaN的操作都会返回NaN。NaN与任何值都不相等,包括NaN本身。
alert(NaN == NaN); //false
读书笔记之JavaScript中的数据类型的更多相关文章
- 读书笔记之JavaScript中的数据类型(1)
JavaScript严格意义上分为ECMAScript.DOM.BOM.ECMAScript是一门真正意义上的语言,独立于浏览器,浏览器只是它的一个宿主环境.DOM(文档对象模型),为ECMAScri ...
- JavaScript 中的数据类型
Javascript中的数据类型有以下几种情况: 基本类型:string,number,boolean 特殊类型:undefined,null 引用类型:Object,Function,Date,Ar ...
- javaScript中的数据类型
一.综述 javaScript中的数据类型分为两类: 简单类型:Boolean,Number,String 引用类型:Object 其他:undefined代表变量没有初始化,null代表引用类型为空 ...
- Javascript中的数据类型之旅
虽然Javascript是弱类型语言,但是,它也有自己的几种数据类型,分别是:Number.String.Boolean.Object.Udefined.Null.其中,Object属于复杂数据类型, ...
- 【译】Javascript中的数据类型
这篇文章通过四种方式获取Javascript中的数据类型:通过隐藏的内置[[Class]]属性:通过typeof运算符:通过instanceof运算符:通过函数Array.isArray().我们也会 ...
- javascript 中检测数据类型的方法
typeof 检测数据类型 javascript 中检测数据类型有好几种,其中最简单的一种是 typeof 方式.typeof 方法返回的结果是一个字符串.typeof 的用法如下: typeof v ...
- 鉴定JavaScript中的数据类型
众所周知,JavaScript是一门弱类型的语言,但是这并不代表JavaScript中没有数据类型.JavaScript中常见的数据类型有string.number.object等等,通常我们使用ty ...
- JavaScript中基本数据类型之间的转换
在JavaScript中共有六种数据类型,其中有五种是基本数据类型,还有一种则是引用数据类型.五种基本数据类型分别是:Number 数值类型.String 字符串类型.Boolean 布尔类型, nu ...
- JavaScript中基本数据类型和引用数据类型的区别(栈——堆)
JavaScript中基本数据类型和引用数据类型的区别 1.基本数据类型和引用数据类型 ECMAScript包括两个不同类型的值:基本数据类型和引用数据类型. 基本数据类型指的是简单的数据段,引用数据 ...
随机推荐
- 九度oj 1034 寻找大富翁 2009年浙江大学计算机及软件工程研究生机试真题
题目1034:寻找大富翁 时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:5323 解决:2123 题目描述: 浙江桐乡乌镇共有n个人,请找出该镇上的前m个大富翁. 输入: ...
- Parcel Vs Webpack
横空出世的Parcel近日成为了前端圈的又一大热点,在短短几周内就获得了13K的Star.作为前端构建工具新人的Parcel为什么能在短期内获得这么多赞同?他和老大哥Webpack比起来到底有什么优势 ...
- Java - 线程封闭
保证并发安全性的方式有三: 不共享.不可变.同步 前两种方式相对第三种要简单一些. 这一篇不说语言特性和API提供的相关同步机制,主要记录一下关于共享的一些思考. 共享(shared),可以简单地认为 ...
- 六、cent OS其它常用命令
进入根目录下的laycloud的目录cd /laycloud 进入当前目录下的目录cd laycloud 查看某个目录下的内容ls /laycloud 查看当前目录下的内容ls 查看当前目录下的内容读 ...
- quartz---定时器(配置注解方式&配置xml方式)
本入门案例基于spring和quartz整合完成. 第一步:创建maven工程,导入spring和quartz相关依赖 第二步:创建任务类 第三步:在spring配置文件中配置任务类 第四步:在spr ...
- Be opinionated out of the box but get out of the way quickly as requirements start to diverge from
Be opinionated out of the box but get out of the way quickly as requirements start to diverge from t ...
- C Primer Plus note6
error: invalid preprocessing directive #difine| 无效的宏定义处理 宏定义define 写成了 difine.
- CSS3,3D效果轮播图
---恢复内容开始--- 大家还记得我昨天的3D拖拽立方体吗??我昨天还说过css还可以做轮播图,所以咱们今天就写一下,css的轮播图吧! ....这个轮播图主要是用CSS3里的transform的旋 ...
- Java Struts2 (三)
一.国际化概念(了解) 1.什么是国际化 软件的国际化:软件开发时,要使它能同时应对世界不同地区和国家的访问,并针对不同地区和国家的访问,提供相应的.符合来访者阅读习惯的页面或数据. 2.什么需要国际 ...
- 1-4 Sass的基本特性-基础
[Sass]声明变量 定义变量的语法: 在有些编程语言中(如,JavaScript)声明变量都是使用关键词“var”开头,但是在 Sass 不使用这个关键词,而是使用大家都喜欢的美元符号“$”开头.我 ...