JS里的数据

JS如何学习

JS作者的评价

  • 原创之处并不优秀
  • 优秀之处并非原创

从简单到复杂
示意图
示意图

ES6一图概括(90%)

示意图

期待纳入规范的方法

1
2
3
4
5
6
7
8
9
10
11
12
13
obj.a.b.c.name
//如果 obj.a 是 undefined
// obj.a.b <==> undefined.b ==>报错
//更何况 obj.a.b.c呢?
//现在的js是怎样写的
if(obj.a!==undefined&&obj.a.b!==undefined&&obj.a.b.c!==undefined&&obj.a.b.c.name!==undefined){
//终于无错的打印了变量
console.log(obj.a.b.c.name);
}

//optional chain语法
obj?.a?.b?.c?.name
//如果 obj.a是undefined就不往下走了 之间返回 undefined 写法也简洁很多

7种数据类型

Number boolean string symbol undefined null object

示意图

Number

示意图

String

示意图

处理字符串折行问题

  1. “\”转义 但是后面必须是”回车” 但是如果是 空格 你也看不出来 容易出错
  2. ‘1233’ +
    ‘456’
  3. ES6 反引号” ` “ 换行要顶头写
    示意图

boolean 两个值 true | false

布尔 true false

&& 与 || 或 运算

a&&b

a\b
×
× ×

a||b

a\b
×

symbol 略过 …

null (只有一个值 null)

undefined (只有一个值 undefined )

都表示什么也没有 (JS之父的bug)

null和 undefined的区别

1.一个变量没有赋值 ==> undefined
2.我想有一个对象 obj 但是现在还不想给值 所以推荐给他一个 null值 <==>空对象
有一个非对象 不想给值 undefined <==> 空非对象示意图

什么是object

就是由基本类型组成的复杂类型
示意图

person = {name:’hjx’,age:18,self:person}可以吗?

对象还没有初始化完成就自己指向自己
这样是对的 但是 person.self = undefined
示意图

key的值可以是 ‘’空字符吗?

示意图

delete && for in

示意图

typeof && BUG

示意图