美文网首页
JS数据类型

JS数据类型

作者: H_uan | 来源:发表于2018-07-17 23:15 被阅读0次

    七种数据类型:number string boolean symbol undefined null object
    注意:没有 array 类型和function 类型。

    1、number

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

    2、string

    • 空字符串:''
    • 多行字符串:
          var s = '12345' +
                      '67890' // 无回车符号
          或
          var s = `12345
          67890` // 含回车符号 es6写法,
    

    3、boolean

    boolean 的取值
    只有两个值:true 和 false
    a && b 在 a 和 b 都为 true 时,取值为 true;否则为 false(同真为真)
    a || b 在 a 和 b 都为 false 时,取值为 false;否则为 true(同假为假)

    4、symbol

    Symbol 可以创建一个独一无二的值(但并不是字符串)。
    方应杭:JS 中的 Symbol 是什么?

    5、undefined 和 null

    都表示没有值,至于 JS 为什么有两个表示「没有值」的东西,
    可以从 JS 之父的 twitter 中知道当时他也挺纠结的:https://twitter.com/BrendanEich/status/333008305461006336

    • (规范)如果一个变量没有被赋值,那么这个变量的值就是 undefiend
    • (习俗)如果你想表示一个还没赋值的对象,就用 null。
      如果你想表示一个还没赋值的字符串/数字/布尔/symbol(非对象),就用 undefined(但是实际上你直接 var xxx 一下就行了,不用写 var xxx = undefined)

    6、object

    • object 就是上面几种基本类型(无序地)组合在一起,复杂型
    • object 里面可以有 object
          var name = 'fuck';
          var person = {
              name: 'wh', 
              'child': {
                  name: 'susan'
              }, // 最后这个逗号可有可无
          }
      
    • object 的 key 一律是字符串,不存在其他类型的 key (若没有加引号,则必须遵守标识符的命名规则)
    • object[''] 是合法的
    • object['key'] 可以写作 object.key
    • 注意 object.key 与 object[key] 不同
      object.key等价于object['key']
      如:object[name] == object['fuck'] 结果是undefined
    • delete object['key']
    • 'key' in object
    var person = {'name':'frank'}
    'name' in person
    true
    
    delete person.name //同时删除了value和key
    true
    
    'name' in person
    false
    
    person['name']
    undefined
    
    
    var person = {'name':'frank'}
    undefined
    
    person['name'] = undefined
    undefined
    
    person.name
    undefined
    
    'name' in person
    true
    
    xxx数据类型 number string boolean symbol null undefined object function
    typeof xxx 'number' 'string' 'boolean' 'symbol' 'object ' 'undefined' 'object' 'function'

    注意:

    • typeof null //'object'
    • typeof undefined //'undefined'
    • function 并不是一个类型
    for...in...遍历对象
    var person = {'name':'wh','age':18}
    
    for(var key in person){
        console.log(key,person[key])
    }
    name wh //结果本来是字符串,浏览器自动省略了引号
    age 18
    

    相关文章

      网友评论

          本文标题:JS数据类型

          本文链接:https://www.haomeiwen.com/subject/liegpftx.html