Js数据类型

Js数据类型

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

  • 基本类型 number string boolean symbol undefined null

  • 复杂类型 object

array 和 function 都属于object 类型

数字 number

  • 概括:用来表示整数和小数等

  • 十进制写法:1 0.1 .1 1.25e2 1.25E2

  • 二进制,写法:0b11

  • 八进制,写法:011

    在存储以"0"开头的电话号码时需要用字符串类型而不是数字类型,否则容易被计算机认为是八进制数字类型

  • 16进制,写法:0x11

字符串 string

  • 概括:用来表示文本内容

  • 写法:'你号' "你号" '' "" ' ' " "

    注意事项:空字符串长度为0,空格字符串长度由空格个数决定

  • 转义符:反斜杠 \在字符串中用来表示一些特殊字符,又叫转义符。

    常用的转义符:

    • \0 :null(\u0000
    • \b :后退键(\u0008
    • \f :换页符(\u000C
    • \n :换行符(\u000A
    • \r :回车键(\u000D
    • \t :制表符(\u0009
    • \v :垂直制表符(\u000B
    • \' :单引号(\u0027
    • \" :双引号(\u0022
    • \\ :反斜杠(\u005C
  • 多行字符串:

    1. 提前输入 \,类似命令行的换行 (不推荐此写法)。案例:

      var a = '123\
      456'
      //结果是"123456"
      

      此种方法如果在 \ 后先添加了空格,会只转义空格造成报错

    2. 在要换行的地方结束当前字符串并加一个 + 号。案例:

      var a = '123'+
             '456'
      //结果是123456
      
  1. 将需要换行的字符串用两个反引号 " ` " (键盘上 1 前面的那个符号) 括起来。案例:

    var a = `123
    456`
    //结果是"123↵456"
    

布尔 boolean

  • 概括:只有两个特殊的值,表示真伪

  • 来源:一个叫乔治·布尔(英语:George Boole)的人

  • 值:true false

  • a && b 只有 a b 同时为真(true) 其结果才会为真

    b\a
    true true
    true false
  • a || b 只要 a b 中有一个为真(true) 其结果就为真

    b\a
    true true
    true false

null 类型 和 undefined 类型

  • 概括:值就是它本身,它们的意思都是空。

  • 两者区别

    1. undefined 表示"未定义"或不存在,null表示空值,即此处的值为空。

    2. 如果一个变量没有赋值 结果就是 undefined

  • 用法:

    • 如果想创建一个对象但不想赋值,可以给它 null,如: var obj = null 空对象。
    • 如果想创建一个非对象不想赋值,可以给它 undefined 。var 变量默认本身的值就是 undefined。如:var a 。undefined通常用来表示空,非对象。

对象 object

  • 概括:各种值组成的集合

  • 语法:

    var obj = {
        key1 : value1,
        key2 : value2,
        key3 : value3
    }
    
  • 注意事项:

    • 对象中的 key 永远是字符串的 key 。

    • 一般情况下获取某个value的值必须用:person['name'] 的写法。只有在 key 符合标识符的命名规范的情况下才可以使用:person.name 的写法。

    • IE8 以下的浏览器不支持{ key1: value1, key2: value2 } 中间用逗号分割,只有 IE8 及其以上的浏览器支持

    • 如果 key 的名字不加引号就要遵循标识符的命名规则。

  • 用法案例:

    var pereon = {
        name : 'name',
        age : 18,
        maried : true,
        children : null,
    }
    
  • 特殊的写法:

    var obj = {
        '' : 'frank',
        'a b' : 'second',
    }
    

    key 可以是一个空的字符串,也可以在两个字符之间加空格

  • 错误写法:

    var obj = {
        2k : 'frank',
    }
    

    此处的 key 不可以以数字开头,因为不加引号要遵循标识符的命名规则。

  • 删除

    • 删除value后再去获取value,浏览器会报错

      var pereon = {
          name : 'name'
      }
      delete person['name']
      person.name  // 值是 undefined 浏览器会报错
      
      'name' in person // false
      
    • 当给key的赋值为undefined时它的值也是 undefined ,但是 使用 in 判断它是存在的

      var pereon = {
          name : 'name'
      }
      person.name = undefined  // undefined 
      
      'name' in person // true
      
  • 对象遍历:

    var person = {
        name : 'frank',
        age : 18
    }
    for(var key in person) {
      console.log(key)
    } 
    /* 输出:
    name
    age
    name age 的顺序是随机的 */
    
    for(var key in person) {
        console.log(key,person[key])
    }
    /*
    输出:
    name frank
    age 18
    注意person[key]只能通过[]方式,不能通过 person.key 因为 person.key是一个字符串,但for in 中的key不是
    */
    

typeof 运算符

  • 用法案例:

    var a = 1
    typeof a //返回的值是number
    
  • 特殊案例:

    在Js中,大部分数据类型 typeof 就会显示它的数据类型,但以下两种比较特殊:

    1. typeof null 时,null 所显示的类型是 object

    2. 当 typeof 一个函数时,它的返回值是 function 但 function 不是一种数据类型。例:

      function a() {}
      typeof a //返回的值是'function'
      

注:本文为原创文章,著作权归本人和饥人谷所有,转载务必注明来源

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,047评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,807评论 3 386
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 158,501评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,839评论 1 285
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,951评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,117评论 1 291
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,188评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,929评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,372评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,679评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,837评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,536评论 4 335
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,168评论 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,886评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,129评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,665评论 2 362
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,739评论 2 351