lesson21-JS里的数据类型

一、JS里的七种数据类型

1. Number
十进制 二进制 八进制 十六进制
1
1.1
.1
1.23e2
0b11 01234567 0x123ABC
2. String
  • 空字符'' ""
  • 多行字符串
//推荐
var s1 = '12345'+
            '6789'

var s2 = `12345
            67890`      //包含空格和回车

//不推荐,因为再"\"后面有空格的话会报错,不容易发现
var s3 = '12345  \
            67890'
3. Boolean
  • Boolean只有两个值:truefalse
  • 真值表
    1. a&&b
a\b true false
true true false
false false false
  1. a||b
a\b true false
true true true
false true false
4. Symbol
5. null

只有一个值,就是null

6. undefined

只有一个值,就是undefined

7. Object(哈希表)
  • 定义object
var person = {
  name: 'lilei', //与'name': 'lilei'一样
  age: 18, 
  married: true, 
  childern: { name: 'xxx', age: 19...}
}
  • 取值

    1. person['name'] ['name']的''一定要加,person[name]中的name是变量而不是字符串
      //如果[]里的字符串符合标识符规则,可以用‘.’取值
    2. person.name 在这里等价于person['name'],因为name符合标识符规则
  • 删除对象中的key

    1. delete person['name'] 同时删除Key和Value
      person.name //undefined,无value
      'name' in person //false, 无key

    2. 将value置位undefined
      person['name'] = undefined
      person.name//undefined
      'name' in person//true , key还在

  • for...in遍历对象

for (var key in person) {
  console.log(person[key]) //这里不能用person.key,因为person.key等价于person['key']
}

二、 null 与 undefined 的区别

  • 如果一个变量(非对象)没有赋值,它就是undefined;

  • 如果想要一个对象,但是不想赋值,就是null

总结:null为空对象,undefined为空非对象(约定俗成的,非严格定义)

三、用typeof取七种类型

String Number Boolean Object Symbol undefined null
typeof string number boolean object symbol undefined object

typeof 的两个bug:

  • typeof null //object

  • typeof function //function

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 第2章 基本语法 2.1 概述 基本句法和变量 语句 JavaScript程序的执行单位为行(line),也就是一...
    悟名先生阅读 4,196评论 0 13
  • "use strict";function _classCallCheck(e,t){if(!(e instanc...
    久些阅读 2,049评论 0 2
  • 我们之所以敢挥霍时间,是因为我们总把一生想象的无限长……我们还有很多时间,以后有的是时间做,现在可以不用做。可是我...
    嘿_猪阅读 222评论 1 1
  • 季节像一张写不完的考卷,时间之妖怕有一天也要皈依,世间无常,诸善布施,如恒河沙等身。 要是繁琐细碎的时光也能如纸上...
    绿萝裙的夏天阅读 259评论 0 0
  • 认真学习,实时记录学习动态。
    龙猫君plus阅读 88评论 0 0