美文网首页
JS里的数据

JS里的数据

作者: gaoyanglol | 来源:发表于2019-09-29 13:13 被阅读0次

    Javascript中的数据类型

    1. Number(数字)
    2. String (字符串)
    3. Boolean (布尔)
    4. Symbol (符号)
    5. undefined
    6. null
    7. Object (对象)

    JS一切皆对象的说法是错的

    Number

    • 十进制

      整数:1
      小数:1.1

      > 1 + .1
      < 1.1
      

      科学记数法:1.23e2

      > 1.23e2
      < 123
      
    • 二进制

      > 0b11
      < 3
      
    • 八进制

      > 011
      < 9
      

      电话号码不能用 number 类型存储

      //电话号码不应该存储为数字类型
      > var phonenumber = 01012345
      > phonenumber
      < 267493
      //应该使用字符串
      > var phonenumber = "010-12345"
      > phonenumber
      < "010-12345"
      
    • 十六进制

      > 0x11
      < 17
      

    String

    • '' 或者 "" 包裹字符来表示。
      > '你好'
      > "你好"
      
    • 空字符串 ''"" 与空格字符串 ' '" " 是不同的。
      //空字符串长度为0
      > ''
      > ""
      //空格字符串长度为1
      > ' '
      > " "
      
    • 转义字符 \
      > var a = '\''  //单引号
      > var n = '\n'  //回车
      > var t = '\t'  //Tab
      > var b = '\\'  //反斜杠
      //以上长度都是1
      
    • 多行字符串
      > var s = '12345' +
                '67890'
      //ES6的写法
      > var s = `12345
        67890`
      > s
      < "12345↵67890"
      

    Boolean

    只有两个值 truefalse

    • a && b

      b \ a true false
      true true false
      false false false
    • a || b

      b \ a true false
      true true true
      false true false

    Symbol

    暂时用不上,可以搜 “ 方应杭 + Symbol ” 了解。

    nullundefined

    表示没有值。
    JS设计的bug,表示什么也没有。

    1. 一个变量未赋值 - undefined(语法)
      > var n
      > typeof(n)
      < 'undefined'
      
    2. 对象object,现在不想赋值 - null(惯例)
      非对象,现在不想赋值 - undefined
       > var object = null  //空对象
       > var n  //空非对象
      

    Object

    • 对象就是简单类型(number、string、boolean...)的组合。

      > var obj = {
          key0 : value0,
          key1 : value1
        }
      
      // key 是 String 类型,可以省略引号,但必须遵循变量命名规则
      > var obj = {9a : 'frank'}
      
      // 变量名不可以用数字开头
      > var obj = {'9a' : 'frank'}
      
      // value 可以是任何类型 number, string, boolean, object, null, undefined
      > var person = {
          name : 'frank',
          age : 18,
          married : true,
          children: {name: 'xxx', age: 1}
        }
      
    • 取值方式 1

      // 中括号取值必须加引号
      > person['name']
      < 'frank'
      // 不加引号会被解析为变量
      > var name = 'fuck'
      > person[name]
      < undefined
      
    • 取值方式 2

      > person.name  // name 符合标识符规范的情况下
      < 'frank'  
      
    • 删除键值

      > var person = { name : 'frank' }
      
      // delete 将 key 和 value 都删除
      > delete person['name']
      > person['name']
      < undefined
      > 'name' in person
      < false
      
      // 仅清除 value
      > person.name = undefined
      > 'name' in person
      < true
      
    • 遍历对象

      > var person = {name: 'frank', age: 18}
      > for (var key in person) {
          console.log(key, person[key])
        }
        name frank
        age 18
      
    • typeof 方法

      string number boolean undefined object symbol
      typeof 'string' 'number' 'boolean' 'undefined' 'object' 'symbol'

      两个BUG

      //
      > var n = null
      > typeof n
      < 'object'
      
      //
      > function f() {}
      > typeof f
      < 'function'
      

    相关文章

      网友评论

          本文标题:JS里的数据

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