美文网首页
JS数据类型简介

JS数据类型简介

作者: desperadokk | 来源:发表于2018-12-26 21:09 被阅读0次

    JS一共有七种数据类型:number、 string、boolean、null、symbol、undefined、object。

    number

    1. 十进制
      比如1、1.1、.1、1.23e2
    2. 二进制
      0b或者0B开头:0b11、0B11都表示3
    3. 八进制
      0开头:011表示9
    4. 十六进制
      0x开头:0x11表示17

    string

    可以用单引号''或者双引号""引起来:‘你好’、“你好”
    也可以是空字符串''或者"",注意空字符串和空格字符串' '、" "的区别,前者长度为0,后者为0 。
    JS的转义符是反斜杠:
    有些特殊意义的转义符如:\n回车 \t制表符
    多行字符串(不是字符串里有回车)可以这样写:var s = '1234' + '5678'

    boolean

    boolean只有2个值:true和false
    &&是与运算、||是或运算

    symbol(暂时不讲)

    null

    只有一个值:null

    undefined

    只有一个值:undefined
    null和undefined都表示什么都没有。

    1. 变量没有值——undefined
    2. 有一个对象object目前不考虑赋值——null
    3. 有一个非对象,不想赋值——undefined
      上述第二、三种都是推荐用法,用另一个值也是可以的。

    object

    hash表:由键值对组成。如

    var person ={'name': 'James',
                 'age': 38,
                 'married': true,
                 children: {name: Lily, 'age': 18}
                 }
    

    其中键可以不加引号也可以加双引号或者单引号。
    当键不加引号时,键的命名必须符合标识符原则,否则一定要用引号引起来。
    hash表取值用person['name']表示'James',其中name的引号不能省略,如果键的命名符合标识符命名规范可以用person.name表示‘James’。
    删除hash表内数据可以用delete person['name']或者用特例delete person.name
    还有一个特例:

    var obj = {
      0.7: 'Hello World'
    };
    
    obj['0.7'] // "Hello World"
    obj[0.7] // "Hello World"
    

    数字键可以不加引号,因为会自动转成字符串。

    注意,数值键名不能使用点运算符(因为会被当成小数点),只能使用方括号运算符。

    var obj = {
      123: 'hello world'
    };
    
    obj.123 // 报错
    obj[123] // "hello world"
    

    遍历对象的键值:

    for(var key in person){
    console.log(key, person[key])
    }
    

    hash表内键值对排列是没有顺序的。

    其他

    查看变量的数据类型可用typeof查看,比如:

    var t = 'ssss'
    typeof t
    \\"string"
    

    但是JS有两个bug:typeof null的返回值是object(应该返回null才对);function f(){} typeof f返回function(应该返回object因为函数是object)

    相关文章

      网友评论

          本文标题:JS数据类型简介

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