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中的数据类型的更多相关文章

  1. 读书笔记之JavaScript中的数据类型(1)

    JavaScript严格意义上分为ECMAScript.DOM.BOM.ECMAScript是一门真正意义上的语言,独立于浏览器,浏览器只是它的一个宿主环境.DOM(文档对象模型),为ECMAScri ...

  2. JavaScript 中的数据类型

    Javascript中的数据类型有以下几种情况: 基本类型:string,number,boolean 特殊类型:undefined,null 引用类型:Object,Function,Date,Ar ...

  3. javaScript中的数据类型

    一.综述 javaScript中的数据类型分为两类: 简单类型:Boolean,Number,String 引用类型:Object 其他:undefined代表变量没有初始化,null代表引用类型为空 ...

  4. Javascript中的数据类型之旅

    虽然Javascript是弱类型语言,但是,它也有自己的几种数据类型,分别是:Number.String.Boolean.Object.Udefined.Null.其中,Object属于复杂数据类型, ...

  5. 【译】Javascript中的数据类型

    这篇文章通过四种方式获取Javascript中的数据类型:通过隐藏的内置[[Class]]属性:通过typeof运算符:通过instanceof运算符:通过函数Array.isArray().我们也会 ...

  6. javascript 中检测数据类型的方法

    typeof 检测数据类型 javascript 中检测数据类型有好几种,其中最简单的一种是 typeof 方式.typeof 方法返回的结果是一个字符串.typeof 的用法如下: typeof v ...

  7. 鉴定JavaScript中的数据类型

    众所周知,JavaScript是一门弱类型的语言,但是这并不代表JavaScript中没有数据类型.JavaScript中常见的数据类型有string.number.object等等,通常我们使用ty ...

  8. JavaScript中基本数据类型之间的转换

    在JavaScript中共有六种数据类型,其中有五种是基本数据类型,还有一种则是引用数据类型.五种基本数据类型分别是:Number 数值类型.String 字符串类型.Boolean 布尔类型, nu ...

  9. JavaScript中基本数据类型和引用数据类型的区别(栈——堆)

    JavaScript中基本数据类型和引用数据类型的区别 1.基本数据类型和引用数据类型 ECMAScript包括两个不同类型的值:基本数据类型和引用数据类型. 基本数据类型指的是简单的数据段,引用数据 ...

随机推荐

  1. 1.7 js基础,字符串、数组小结

    一.arguments  实参参数的数组         实参[实际的值],形参[形式上的参数]         当参数个数不固定的时候使用.         示例: script> var g ...

  2. CCF 201409-4 最优配餐

    问题描述 试题编号: 201409-4 试题名称: 最优配餐 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述 栋栋最近开了一家餐饮连锁店,提供外卖服务.随着连锁店越来越多,怎么 ...

  3. 记一次走心One 2 One沟通

    聊的比较零零碎碎,内容比较散,有些solution不错,记一些要点吧(1)要学会汇报,就是坐你身边的人,也未必知道你在干啥 三个人都在砌墙.当人们分别问他们在做什么,他们的答案却不一样:第一个人头也没 ...

  4. cs端调用webApi

    public class Httphelper { public static string Post1(string url, string postString) { using (WebClie ...

  5. Centos 下搭建FTP上传下载服务器

    首先判断你服务器上是否安装了vsftpd 安装vsftpd #yum -y install vsftpd   安装完成之后就要重启vsftpd服务 到vsftpd的主配置文件里面 把这个改为NO 默认 ...

  6. RabbitMQ - 介绍

    RabbitMQ是个健壮.易用.开源.支持多种操作系统和语言的message broker. 当然,一切的前提是机器里面正在运行着rabbitmq-server. 点击下面的图片下载: rabbitM ...

  7. json转化的时候如何忽略某些属性字段值

    一.有时候在将对象或list对象转化为json的时候,我们可能不需要所有的属性值,这就需要我们去过滤掉这些属性了 我下面说两种比较流行的json包如何来忽略某些属性值 二. 使用jaskson包 1. ...

  8. GC回收策略

    判读一个对象是否“已死”: 引用计数算法:给对象中添加一个引用计数器,每当有一个地方引用它时,计数器值就加1:当引用失效时,计数器值就减1:任何时刻计数器为0的对象就是不可能再被使用的. 至少主流的J ...

  9. java_对象序列化、反序列化

    1.概念 序列化:将对象转化为字节序列的过程 反序列化:将字节序列转化为对象的过程 用途: A:将对象转化为字节序列保存在硬盘上,如文件中,如文本中的例子就是将person对象序列化成字节序列,存在p ...

  10. jQuery知识点学习整理

    零.jQuery中操作css的方法 1.$("p").css("background-color"); 返回首个匹配元素的background-color的值. ...