您的位置:首页 > Web前端 > JavaScript

Javascript笔记——Javascript的基本数据类型

2016-06-11 08:55 330 查看
在Javascript数据类型分为两类:基本数据类型、引用数据类型。

基本数据类型包括

1.数值类型 Number

2.布尔类型 Boolean

3.字符类型 String

4.未定义 Undefined

5.空类型 Null

引用数据类型包括

1.数组 Array

2.对象 Object

3.函数 Function

typeof( )方法用来返回当前变量的类型,在文中有些地方会用到这个方法。

本章只简单介绍下js的基本数据类型,引用数据类型会在后面文章单独介绍。

1.Number类型

js中的数字只有一个类型就是Number类型,无论是整数还是浮点数都是属于Number类型的。函数Number( )可以把任意类型的变量转换为Number类型。

整数

Number表示整数可以是十进制、八进制、十六进制。

var intNum=55;//十进制
var octalNum=070;//八进制数,第一位必须是0,解析为56
var  octalNum=079;//无效的8进制数,9超过了8进制数的范围,解析为79
var hexNum=0xA;//十六进制数,前两位必须是0x,解析为10


浮点数

1、浮点数中必须包含一个小数点,且小数点后必须有一位数字。

2、对极大极小的浮点数采用科学记数法表示。

var floatNum=3.14;//浮点数
var floatNum=3.2e7;//3.2×10(7次幂)
var floatNum=3.2e-7;//3.2×10(-7次幂)


NaN

1、NaN(Not a Number)是js中一个非常特殊的值,表示非数值的一个数值类型的变量。比如当把一个不含有任何数值的字符变量强制转化为数值类型时,该变量的值就会等于NaN。

2、NaN有两个非常特殊的特点:任何涉及NaN的操作都会返回NaN;NaN值与任何值都不相等,包括本身。

3、isNaN()函数,用来判断一个变量是不是不是一个数值类型,可以用来判断一个变量强制转换为数值类型时是不是为一个数。例如:

var stringNum="123";
var stringStr="abc";
isNaN(stringNum);//返回false
isNaN(stringStr);//返回true


2.String类型

String类型应该是js中最容易理解的数据类型了吧,不过String类型的方法有很多,后续会说到,任何东西都能放到String类型中,不过需要加引号,不论是单引号还是双引号,都必须是成对的出现

3.Boolean类型

Boolean只有两个类型的值:true、false

函数Boolean( )可以把任意类型的变量转换为Boolean类型。

转换规则:

数据类型转化为true转化为false
Number任何不为0的数0
String任何非空字符串“”空字符串
Undefined只会被转换成false
Null只会被转换成false
这些规则对理解流程控制语句有一定帮助,如if( )语句会把其中的变量自动转换为Boolean类型。

4.Null类型

1、null类型的默认值是null,表示空数据类型。

2、js中有一个常见的错误,就是Null用typeof( null )方法返回的类型为Object类型。

typeof null==="object";


但是在《JavaScript高级程序设计(第2版)》中,却不认为这是一个错误:

“从逻辑角度来看,null值表示一个空对象指针,而这正是使用typeof操作返回‘object‘的原因。”

在developer.mozilla中对null返回object有如下的解释:

“在 JavaScript 最初的实现中,JavaScript 中的值是由一个表示类型的标签和实际数据值表示的。对象的类型标签是0。由于 null 代表的是空指针(大多数平台下值为0x00),因此,null的类型标签也成为了0,typeof null就错误的返回了’object’.”

这个现象本来会在ECMAScript 6中被修复的, 正确的返回值将成为 typeof null === ‘null’。但是官方出于兼容性的考虑,目前该提议已被否决。

5.Undefined类型

undefined类型被认为是派生自null的,不严格的说二者都是指没有明确赋值的类型,但是细分之后,undefined类型,被用来形容未经初始化的变量,null类型被用来形容空对象指针。

如何区分undefined和null:

当一个变量声明后,未初始化,则该值为undefined,如果这个值是为了保存对象,则修改其默认初始化的值,改为null。 所以当检测其类型时,会显示类型为object。所以,如果定义的变量准备在将来用于保存对象(即复杂的数据类型object),那么就该将该变量初始化为null。

var a;
typeof a === 'undefined'; // 一个未定义的变量,或者一个定义了却未赋初值的变量.


关于js的基本数据类型就介绍到这里,下篇文章将讨论下js基本数据类型的转换和一些常用的方法。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  javascript