diff --git "a/16 \351\230\231\350\213\217\346\226\207/20231201\350\277\207\346\273\244\345\231\250\344\275\234\344\270\232.md" "b/16 \351\230\231\350\213\217\346\226\207/20231201js\350\277\233\351\230\2661.md" similarity index 100% rename from "16 \351\230\231\350\213\217\346\226\207/20231201\350\277\207\346\273\244\345\231\250\344\275\234\344\270\232.md" rename to "16 \351\230\231\350\213\217\346\226\207/20231201js\350\277\233\351\230\2661.md" diff --git "a/16 \351\230\231\350\213\217\346\226\207/20231205js\350\277\233\351\230\2662.md" "b/16 \351\230\231\350\213\217\346\226\207/20231205js\350\277\233\351\230\2662.md" new file mode 100644 index 0000000000000000000000000000000000000000..0181c92d8d5cb38e537f3ec5a30d1c85caf2c15e --- /dev/null +++ "b/16 \351\230\231\350\213\217\346\226\207/20231205js\350\277\233\351\230\2662.md" @@ -0,0 +1,301 @@ +# 笔记 + +### 构造函数 + +构造函数是专门用于创建对象的函数,如果一个函数使用 `new` 关键字调用,那么这个函数就是构造函数。 + +``` + +``` + +总结: + +1. 使用 `new` 关键字调用函数的行为被称为实例化 +2. 实例化构造函数时没有参数时可以省略 `()` +3. 构造函数的返回值即为新创建的对象 +4. 构造函数内部的 `return` 返回的值无效! + +注:实践中为了从视觉上区分构造函数和普通函数,习惯将构造函数的首字母大写。 + +### 实例成员 + +通过构造函数创建的对象称为实例对象,实例对象中的属性和方法称为实例成员。 + +``` + +``` + +总结: + +1. 构造函数内部 `this` 实际上就是实例对象,为其动态添加的属性和方法即为实例成员 +2. 为构造函数传入参数,动态创建结构相同但值不同的对象 + +注:构造函数创建的实例对象彼此独立互不影响。 + +### 静态成员 + +在 JavaScript 中底层函数本质上也是对象类型,因此允许直接为函数动态添加属性或方法,构造函数的属性和方法被称为静态成员。 + +``` + +``` + +总结: + +1. 静态成员指的是添加到构造函数本身的属性和方法 +2. 一般公共特征的属性或方法静态成员设置为静态成员 +3. 静态成员方法中的 `this` 指向构造函数本身 + +## 内置构造函数 + +> 掌握各引用类型和包装类型对象属性和方法的使用。 + +在 JavaScript 中**最主要**的数据类型有 6 种,分别是字符串、数值、布尔、undefined、null 和 对象,常见的对象类型数据包括数组和普通对象。其中字符串、数值、布尔、undefined、null 也被称为简单类型或基础类型,对象也被称为引用类型。 + +在 JavaScript 内置了一些构造函数,绝大部的数据处理都是基于这些构造函数实现的,JavaScript 基础阶段学习的 `Date` 就是内置的构造函数。 + +``` + +``` + +甚至字符串、数值、布尔、数组、普通对象也都有专门的构造函数,用于创建对应类型的数据。 + +### Object + +`Object` 是内置的构造函数,用于创建普通对象。 + +``` + +``` + +。 + +总结: + +1. 推荐使用字面量方式声明对象,而不是 `Object` 构造函数 +2. `Object.assign` 静态方法创建新的对象 +3. `Object.keys` 静态方法获取对象中所有属性 +4. `Object.values` 表态方法获取对象中所有属性值 + + # 作业 + +```html + +``` + +```html + +``` \ No newline at end of file