JS里的数据类型

发布 : 2019-05-08 分类 : JavaScript 浏览 :

JavaScript里的数据类型有七种,分别为number、string、boolean、symbol、null、undefined、object。

其中number、string、boolean、symbol、null、undefined是简单类型,而object是复杂类型,复杂类型是由简单类型组成的。

1、number

分为二进制、八进制、十进制、十六进制

  • 二进制:有前缀0b或0B的数值;
  • 八进制:有前缀0o或0O的数值,或者有前导0,且只用到0-7的八个阿拉伯数字;
  • 十进制:没有前导0的数值;
  • 十六进制:有前缀0x或0X的数值。

例如:

1
2
3
4
5
1 + .1 //1.1
1.23e2  //123
0b11   //3
011    //9
0x11   //17

2、string

字符串就是零个或多个排在一起的字符,放在单引号或双引号之中。

单引号字符串的内部,可以使用双引号。双引号字符串的内部,可以使用单引号。

如果要在单引号字符串的内部,使用单引号,就必须在内部的单引号前面加上反斜杠,用来转义。双引号字符串内部使用双引号也是如此。

转义,主要有如下这些:

\0:null;
\b:后退键;
\f:换页符;
\n:换行符;
\r:回车键;
\t:制表符;
\v:垂直制表符;
\’:单引号;
\”:双引号;
\\:反斜杠

多行字符串最好使用:

1
2
var a = ‘12345‘+
6789

而不要使用:

1
2
var b = ‘12345\
6789

因为如果在\后面打了几个空格,不易发现且要报错。

ES6更新后可以使用:

1
2
var c = `12345
6789`

注意:如果在6789前缩进,这个缩进是包含在字符串里的,且包含回车。

3、boolean

布尔值只有true(真)、false(假)两个值。

&&(与运算)、||(或运算)
&&:一假必假
||:一真必真

空数组([ ])和空对象({ })对应的布尔值,都是true

4、null、undefined

null与undefined都表示什么都没有

区别:
① 如果一个变量没有赋值,它就是undefined。
② 有一个对象object,现在还不想赋值,推荐给它一个null
空对象:var object = null

有一个非对象,现在还不想赋值,推荐初始化给它一个undefined
空非对象:var a = undefined(可不写)
这只是一个惯例!

5、object

对象就是一组“键值对”(key-value)的集合,是一种无序的复合数据集合。

对象的所有键名都是字符串,所以加不加引号都可以。

如果键名不符合标识名的条件(比如第一个字符为数字,或者含有空格或运算符),且也不是数字,则必须加上引号,否则会报错。

对象的每一个键名又称为“属性”,它的“键值”可以是任何数据类型。如果一个属性的值为函数,通常把这个属性称为“方法”,它可以像函数那样调用。

使用for in遍历循环:
遍历key:

1
2
3
4
5
6
7
var person = {
name: 'zww',
age: 22
}
for (var key in person) {
console.log(key)
}

遍历value:

1
2
3
4
5
6
7
var person = {
name: 'zww',
age: 22
}
for (var key in person) {
console.log(person[key])
}

注意:

  • object[‘’]是合法的
  • object的key都是字符串,不存在其他类型的key
  • typeof操作符中:typeof null返回’object’,typeof function返回’function’
本文作者 : LqZww
原文链接 : http://yoursite.com/2019/05/08/js-li-de-shu-ju-lei-xing/
版权声明 : 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明出处!
支付宝扫一扫, 向我赞赏

支付宝扫一扫, 向我赞赏

微信扫一扫, 向我赞赏

微信扫一扫, 向我赞赏

留下足迹