大白话带你学JS之认识对象

要从是什么,为什么,怎么做去分析问题,从理解,记忆,运用去实践知识

理解对象

JS有8种数据类型,7种原始类型,原始类型就是只存一种东西的类型,比如字符串数字之类的

还有一种就是对象,他存的内容是键值对。就是把一堆的“名:内容”,放一起,放一个大括号里{名1:内容1,名2:内容2,名3:内容3, … },

要注意,对象里的每个名是字符串。只能是字符串,内容随便

创建对象

let user = new Object(); // “构造函数” 的语法
let user = {}; // “字面量” 的语法

// 在创建对象的时候,就可以往里面塞东西,
// 键(或者也可以叫做“名字”或“标识符”),位于冒号 `":"` 的前面
// 值在冒号的右边。
let user = { // 一个对象 
    name: "John", // 键 "name",值 "John" 
    age: 30 // 键 "age",值 30 
};

对象里的键值,你就理解成名字,内容也一样,这些名字和内容,是可以被增删改查的,对象名加个.就行了

// 读取文件的属性: 
user.name; // John 
user.age; // 30

属性简写

比如当前作用域里有age这个变量了,你要拿这个当做内容的话,恰好名字也是这个,就写成这样了,这种情况在编码中很常见

let age: 22;
...
let demo = {
    age:age
}
// 这样的情况就可以简写
let demo = {
    age,
}

判断存在

为什么要判断某个属性有没有?

因为你访问一个不存在的值,js不会报错。只会给出值的undefined

法一:?通过undefined判断存在否?
大部分文章都这样,写到这种程度,就点到为止了,但是对于没有整体思维的学生来说…不知道怎么通过undefined,所以我们应该…

法二:了解一个新的操作符in

let user = { name: "John", age: 30 }; 

alert( "age" in user ); // true,user.age 存在 
alert( "blabla" in user ); // false,user.blabla 不存在。

in 的左边必须是 属性名
大部分文章都这样,写到这种程度,就点到为止了,但是对于没有整体思维的学生来说…不知道为什么必须是属性名,所以我们应该…

思考

大多数文章告诉你怎么用就完事了,你只是他说啥你记啥,几乎没人告诉你为什么这样,你也不会思考这个东西怎么来的。

但是只有你考虑了这些,你才能真正掌握这个,而不是死记硬背,还用不上

所以,思考一下有了undefined为什么还有in这个操作符的出现?

遍历对象

除了增删改查,最重要的还有就是 遍历

为了遍历一个对象的所有键(key),可以使用一个特殊形式的循环:for..in
这跟我们在前面学到的 for(;;) 循环是完全不一样的东西。
image.png

思考

对象排序?

星辰大海

JavaScript 中的对象非常强大。这里我们只接触了其冰山一角。在后面的章节中,我们将频繁使用对象进行编程,并学习更多关于对象的知识。

作业


image.png


检查空对象

image.png


image.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值