A20-JS里的数据

a20 js里的数据

  • 非标准的语法

    通过 Babel 来转义使用
    将不存在的语法翻译成存在的语法

  • js有 7 种数据类型

    1. 数值 number
    2. 字符串 string
    3. 布尔 boolean
    4. Symbol 符号
    5. null
    6. undefined
    7. 对象 object
      array和function都是对象,除了前面6种其它都是对象
  • 如何表示这7种数据类型

    1. number

    • 十进制 1、1.1、.1、1.23e2、1.23E2
    • 二进制 0b、0B开头 0b10(十进制2)
    • 八进制 0开头 011(十进制9)
    • 十六进制 0x、0X开头 0x11(十进制17)

    2. string

    • '你好'
    • "你好"
    • ''空字符串
    • ' '空格字符串
    • ''' 转义字符 输出单引号,\ 是转义符
    • 'n'回车 '\t'tab …… 这些都是一个字符
    • '' 用转义符来转义转义符,输出 \
    • 多行字符串
      • var str = '1234\   这个方法抄袭自命令行
        67890' 输出1234567890  这种很容易出现空格但是看不见,很坑
        
        
        var str = '12345' +
        '67890'  // 输出1234567890,这种方法多达几个字符但是更好读更安全(只推荐这种)
        
        ES6新增了一种新的语法,使用 反引号(1左边那个按键)
        
         var str = `12345
                    67890`  // 这种不需要加\,但是依然会出现空格,包括缩进产生的
         var str = `12345
         67890`    // 因为有缩进所以依然有空格,并且这种方式保留 回车!
        

    3. boolean

    • 布尔其实是一个人的名字,他是一名数学家,他发明了逻辑学
    • true 真
    • false 假
    • 相关:&&(与)、||(或) 运算
      举例: a&&b
      只有 a 和 b 同时为 真 的时候 a&&b 才为真
      举例: a||b
      只要 a 和 b 有一个为 真,结果就为 真

    4. symbol(暂时用不上,没讲)

    5. null (空对象)

    • 这是一个类型
    • 它只有一个值,就是 null

    6. undefined (空非对象)

    • 这是一个类型
    • 它只有一个值,就是 undefined

    null 与 undefined 的意思都是 什么也没有,
    它们是 js 的一个bug,是没设计好

    区别

    1. 变量没有赋值 - 值为undefined (语法)
    2. 有一个对象object,现在不想赋值,那么给它一个 null (惯例)
      (可以给undefined,但是推荐给 null)
      有一个非对象,现在不像赋值,推荐给一个 undefined (不需要自己给,看第一条)

    以上 6 种叫做 基本类型(简单类型,它们就一个值)

    7. object

    -它是 复杂类型,由简单类型组成
    -举例:
    var person = { "name": "zero", // js 只支持以 字符串 为key "age": 20, // key可以不加引号,js会自动加上 "gender": "male", // es3不支持最后一个加逗号,es5支持, // ie7及以下不能加,ie8及以上可以加 }

    • 语法:
      • {}包起来
      • 里面是 键值对
        {
          key: value,  // key必须是字符串,但是js会自动添加所以不手动添加也可以
          ……           // value 该怎么写就怎么写,
        }
        
      • 然后将这个新建的对象赋给一个变量
        var obj = {
          string: "string",
          number: 10,
          boolean: true,
          obj2:{     // 对象里面还可以有另一个对象,一直嵌套下去
            name:'xxx',
          }
        }
        
      • 使用
        obj['string']
        obj.number
      • 烧脑的地方来了,里面的值可不可以是自己呢?
        var person = {
          name: 'zero',
          age:'22',
          self: person
        }
        
        输出 person.self.self.self.self.name 会是什么结果
        undefined,person中储存的是地址,指向的堆中只有一个对象,
        由于还未将对象赋给person,
        var person; // 变量提升别忘了
        person = {...} // 先计算对象,然后赋给person地址,因此self的值实际上是undefined,
        即使先赋值再添加self,引用的仍然是同一个对象,self指向的都是同一个地址
      • 空字符串也是字符串,那么空字符串当key可以么?
        var obj = {
          "": "空字符串"
        }
        
        使用:obj[""] 就能输出 "空字符串"
      • 还是key,变量名不可以用数字开头,key可以么
        不加引号的key不可以,不加引号的key默认使用标识符的命名规则
        加引号的key可以,中间加空格也可以,"a b": 'xxx',
      • 很重要的一点
        如果key的书写符合标识符的规则的话
        比如:
        var person = {
          name: 'zero',
          age: 22
        }
        
      可以这样使用:`person.name、person.age // 这里name、age都是字符串,``
      (特例,只有符合标识符的情况下才可以这样使用)
  • delete

    可以删除对象的属性,比如
    delete person['name'] (上面那种特里也可以,规则不变)
    person.name // undefined (无value)
    'name' in person // false (无key)

  • for in

    • 遍历对象
    • 使用,比如便利上面的person
      for(var key in person){
        console.log(person[key]) // 不可以用person.key,因为key不是字符串,
      }// 遍历输出的顺序并不一定是像代码那样的顺序
      
  • typeof

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

推荐阅读更多精彩内容

  • 第5章 引用类型(返回首页) 本章内容 使用对象 创建并操作数组 理解基本的JavaScript类型 使用基本类型...
    大学一百阅读 3,205评论 0 4
  • 第一章: JS简介 从当初简单的语言,变成了现在能够处理复杂计算和交互,拥有闭包、匿名函数, 甚至元编程等...
    LaBaby_阅读 1,638评论 0 6
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,594评论 18 139
  • 起来洗了个头,感觉好多了。掉的发,就像是烦恼,随它去。尽管这次稍微多了点。管他呢!又是阳光明媚的一天!!!头发不会...
    馥谷阅读 90评论 0 0
  • 蘭心序:上一講里講到了【五種】觀彼外緣法的“由小因生大果”,今天的內容是“與彼相似”: 1、不常; 2、不断; 3...
    蜜婼阅读 490评论 0 2