JS里的数据类型

七种数据类型:number、string、boolean、symbol、undefined、null、object

前面6种,叫 基本类型 ,或简单类型;除了前面6种,其他都是对象;object 为 复杂类型,复杂类型 由 简单类型组成。

1、数字(number)

  • 整数和小数:1 1.1 .1
  • 科学记数法:1.23e2
  • 二进制:0b11
  • 八进制:011(后来 ES5 添加了 0o11 语法)
  • 十六进制:0x11

2、字符串(string)

  • 空字符串:''(长度0)

  • 空格字符串:' '(长度1)

  • 多行字符串:

    1
    2
    3
    4
    5
    var s = '12345' +
    '67890' // 无回车符号,长度10,s = '1234567890'

    var s = '12345
    67890' //含回车符号,长度11,1234 和 67890 之间有一个回车
  • 转义符:\

1
2
var s = '12345\
67890' // 长度10,s = '1234567890'

3、布尔(boolean)

  • 只有两个值 truefalse
  • 与运算:&&,全真则真。
  • 或运算:||,一真则真。

4、symbol

方应杭:JS 中的 Symbol 是什么?

5、null

6、undefined

注:nullundefined 区别:

  • 变量没有被赋值,则返回 undefined
  • 有一个对象 object ,但是没有给值,则返回 null,有一个非对象,没有给值,则返回 undefined

7、对象(object)

  • object 就是上面几种基本类型(无序地)组合在一起

  • object 里面可以有 object

    1
    2
    3
    4
    5
    6
    var person = {
    name: 'xxx',
    'child': {
    name: 'Jack'
    }, // 最后这个逗号可有可无
    }
  • objectkey 一律是字符串,不存在其他类型的 key

  • object[''] 是合法的

  • object['key'] 可以写作 object.key

  • 注意 object.keyobject[key] 不同

  • delete object['key']

  • 'key' in object