码迷,mamicode.com
首页 > Web开发 > 详细

JS数据类型

时间:2017-11-13 00:14:41      阅读:162      评论:0      收藏:0      [点我收藏+]

标签:number   fine   有一个   开始   变量赋值   函数   es6   基本数据类型   实现   

数据类型

 

ES里面,基本数据类型有6个:NumberStringBooleanNullUndefined,以及ES6新添加的Symbol

 

Undefined数据类型

这种数据类型就只有一个值:undefiend

在声明了一个变量,但是没有给变量赋值的时候,该变量的值就是undefined

 

如果一个变量,连声明都没有声明,那么打印这个变量会直接报错,但是如果使用typeof查看变量类型的时候却会显示出undefined

 Null数据类型

这个数据类型也只有一个值,这个值就是nullnull代表就是空。Undefined可以看做是从null衍生出来

 

 

Boolean数据类型

中文叫做布尔值。布尔值只有两个,一个是真(true),一个是假(false)。由于在ES里面严格区分大小写,所以trueTrue不是同一个东西。

 任何其他数据类型都可以转换为布尔类型

数据类型

true

false

Number

任何非0的数字,都可以转为true

数字0

String

任何非空的字符串(包括引号里面有空格,或者引号里面有0

空字符串

 

ES里面有一个函数可以将其他数据类型转为布尔类型:Boolean()

 以下9个值是会被转为布尔类型里面的false

“”:双引号空字符串

‘’:单引号空字符串

``:空字符串模板

0-0:数字0-0

NaN

false

null

undefined

 

 Number数据类型

关于数我们可以分为两大类:一个是整数,一个是实数

整数:整数又可以分为正整数和负整数

 关于整数,拥有不同的进制。不同的进制,前面需要添加不同的特殊符号。

二进制:0b

八进制:0

十六进制:0x

 实数:所谓实数,就是我们常见的小数

关于实数的表示方法有两种:小数型,指数型

 最大值和最小值

我们可以通过MIN_VALUE以及MAX_VALUE来查看ES里面所支持的最大值和最小值

 ES里面拥有无穷的概念,如果一个数达到21024次方,那么这个数就会变为infinity,与之相对的还有-infinity,如果一个数是负的21024次方,那么就是-infinity

 NaN

NaN全称为not a number,意思就是不是一个数。但是这个NaN的数据类型为number

 当成一个标识,标识某一个数据不是一个number

 涉及任何NaN的计算,都会返回NaN

 NaN不和任何值相等,包括自己本身

 ES里面专门判断是否为一个非数的函数 isNaN()

 

 

数值转换相关函数:Number()  parseInt()  parseFloat()

Number():将一个值转换为数值

如果是布尔值,会被转为0或者1

如果是数字,就是一个简单的返回

如果null,返回0

如果是undefined,返回NaN

 

关于字符串,转换规则如下:

如果字符串里面包含纯数字,就将其转为十进制,如果字符串是写作八进制”012”,这个时候只是会被单纯的转换为12,但是如果是十六进制,就会将十六进制转为十进制,二进制也可以被转换

 

 

如果字符串里面不是纯数字,而是包含了其他字母或者字符,那么转换为NaN

 

如果是空字符串,那么转换为0

 parseInt():也是将其他值转为整数,但是它和Number有一个最大的区别就是会尽量的将字符串转为数字

 

但是,需要注意的是,虽然说是尽量转为数字,但是必须是以数字开头才行,如果是字母或者字符开头,还是会转为NaN

 parseInt()接受第二个参数,表明前面的数据是多少进制

 和Number()函数还有一个区别,就是这个函数是将其转为整数

 parseFloat():转为小数。和parseInt()一样,会尽可能的去保留数

 

 

ES6之前,Number()parseInt()parseFloat()是属于全局对象的方法,但是从ES6开始,上面的方法已经被归类到了Number对象里面

Number.isInteger():判断一个数是否为整数,如果是返回true,否则返回false

 

String数据类型

字符串使用引号将一串字符包裹起来。既可以是单引号,也可以是双引号。没有任何区别。

 如果字符串外部使用双引号,那么内部就要用单引号,反之亦然。

如果外部使用双引号,内部也想使用双引号,那么需要添加转义字符\

 可以将其他数据类型转换为字符串类型,toString():可以将除了nullundefined以外的数据类型转为字符串

 

可以传入参数,指定是多少进制

 String()就可以将所有数据类型转为字符串。

 字符串数据类型,和其他任意数据类型相加,最终得到的都是字符串类型。所以将一个非字符串数据类型快速转为字符串的方法就是和一个空字符串相加

 ES6新添加了一个叫做字符串模板。使用两个反引号`

字符串模板有两个作用,第一个就是实现多行文本

第二个作用:可以解析变量,只需要将要解析的变量放入${}里面就可以解析了

 typeof 运算符:返回变量的数据类型,主要就是要注意几个比较特殊例子

 类型转换:可以分为两大类,一个叫做显式转换,一个叫做隐式转换

隐式转换:所谓隐式转换,就是指系统内部自动发生的转换。隐式转换一般就发生在不同的数据类型进行运算的时候

 显式转换:我们程序员强制进行数据类型转换。主要就是转布尔,转数字,转字符串

转布尔:Boolean()

转数字:Number()  parseInt()  parseFloat()

转字符串:toString()  String()

 快捷方法:

转布尔:只需要在名称前面加一个!,如果想要转为和当前类型符合的布尔值,那就加两个!!

 数字:*1或者/1

 转字符串:和空字符串相加

JS数据类型

标签:number   fine   有一个   开始   变量赋值   函数   es6   基本数据类型   实现   

原文地址:http://www.cnblogs.com/whitesnow/p/7823372.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!