JavaScript中,总共有七种数据类型。分别为:
- number(数字)
- string(字符串)
- boolean(布尔值)
- symbol (ES6新增)
- undefined(未定义)
- null(空值)
- object (对象)
array数组和function函数不在这七种当中
1. number
number数据类型,就是整数和小数。
JavaScript 内部,所有数字都是以64位浮点数形式储存,即使整数也是如此。所以,1与1.0是相同的,是同一个数。
1 === 1.0 // true
—— 阮一峰JavaScript标准参考教程
所以,在JavaScript内部,没有整数的概念,所有数字都是64位的浮点数,也就是小数。
小数的运算是不精确的,因此要小心使用.
在进行运算时,会把64位浮点数转化为整数,再进行计算。
数值的表示方法大体分为两种,字面形式和科学计数法。
字面形式表示,就是数值直接展现,一般有四种进制的表示方法:
十六进制 —— 有前缀0x或0X的数值,如 0x11
十进制 —— 没有前缀0的数值,如 16
八进制 —— 有前缀0o或0O的数值,或者有前导0、且只用到0-7的八个阿拉伯数字的数值,如011
二进制 —— 有前缀0b或0B的数值,如0b11
JavaScript中,默认为十进制。
2. string
string字符串,就是放在单引号或者双引号当中的字符。可以是多个或者零个。
''
'abcd'
"abcd"
声明字符串时,要使用到单引号或者双引号的符号时,外层的引号可以嵌套使用
' var a= "bcd" '
" var b = 'acd ' "
如果单双引号都要用到,则可以使用转义字符 \ 反斜杠,只要在使用的引号前加一个\
' she\'s code so \"nice\" '
//相当于字符串 she's code so "nice"
常用的转义字符
\0 :null(\u0000)
\b :后退键(\u0008)
\f :换页符(\u000C)
\n :换行符(\u000A)
\r :回车键(\u000D)
\t :制表符(\u0009)
\v :垂直制表符(\u000B)
' :单引号(\u0027)
" :双引号(\u0022)
\ :反斜杠(\u005C)
3. boolean
boolean布尔,只有两个值,true和false。
布尔值往往用于程序流程的控制,判断一个条件的布尔值,true执行true操作,false执行false操作。
4. undefined和null
null与undefined都可以表示“没有”,含义非常相似,所以放在一起讲解。
将一个变量赋值为undefined或null,语法效果几乎没什么不同。相等运算符 == 甚至直接将两者是等价的。
两者这么相似,那么为什么要多余设计两个出来呢。这就是js的历史相关了,有兴趣的可以另外查询。
那么两者有什么不同呢,这个才是主要的。
null表示空值,undefined表示未定义。
规范上,如果一个变量没有被赋值,那么这个变量就是undefined
习惯上,如果你想表示一个还没赋值的对象,就用null
5. object
对象(object)是 JavaScript 语言的核心概念,也是最重要的数据类型。
什么是对象?简单说,对象就是一组“键值对”(key-value)的集合,是一种无序的复合数据集合。——— 阮一峰JavaScript标准参考教程
用大括号定一个对象,对象的内容,由键名和键值组成,键名和键值用冒号分隔。
{
key:value
}
如果有多个对象值,则用分号隔开,
{
key1:value1 ,
key2:value2 ,
key3:value3 ,
key4:value4
}
对象的所有键名keys都是字符(引号可以省去),如果是数值,js会自动转换成字符串。
如果键名不符合标识符命名的条件,则必须添加引号,否则会报错。
6. symbol
symbol是ES6新添的类型,目前接触的不是很多,有兴趣的可以点击下方链接学习
网友评论