From 9fe42a8922e6427f3bab16292571f0fb595868a3 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E8=A2=81=E8=B4=B5=E6=A3=AE?= <3032059138@qq.com>
Date: Tue, 25 Oct 2022 15:21:21 +0000
Subject: [PATCH 1/4] =?UTF-8?q?28=E8=A2=81=E8=B4=B5=E6=A3=AE?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Signed-off-by: 袁贵森 <3032059138@qq.com>
---
...\350\261\241\344\275\234\344\270\232.html" | 142 ++++++++++++++++++
1 file changed, 142 insertions(+)
create mode 100644 "28\350\242\201\350\264\265\346\243\256/\344\275\234\344\270\232/2022-1024\345\257\271\350\261\241\344\275\234\344\270\232.html"
diff --git "a/28\350\242\201\350\264\265\346\243\256/\344\275\234\344\270\232/2022-1024\345\257\271\350\261\241\344\275\234\344\270\232.html" "b/28\350\242\201\350\264\265\346\243\256/\344\275\234\344\270\232/2022-1024\345\257\271\350\261\241\344\275\234\344\270\232.html"
new file mode 100644
index 0000000..2f1542e
--- /dev/null
+++ "b/28\350\242\201\350\264\265\346\243\256/\344\275\234\344\270\232/2022-1024\345\257\271\350\261\241\344\275\234\344\270\232.html"
@@ -0,0 +1,142 @@
+
+
+
+
+
+
+ Document
+
+
+
+
+
+
\ No newline at end of file
--
Gitee
From eae6822c27fd2d1d16b644047988c6e14d0ea54c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E8=A2=81=E8=B4=B5=E6=A3=AE?= <3032059138@qq.com>
Date: Tue, 25 Oct 2022 15:21:38 +0000
Subject: [PATCH 2/4] =?UTF-8?q?28=E8=A2=81=E8=B4=B5=E6=A3=AE?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Signed-off-by: 袁贵森 <3032059138@qq.com>
---
...71\350\261\241\347\254\224\350\256\260.md" | 148 ++++++++++++++++++
1 file changed, 148 insertions(+)
create mode 100644 "28\350\242\201\350\264\265\346\243\256/\347\254\224\350\256\260/2022-1024\345\257\271\350\261\241\347\254\224\350\256\260.md"
diff --git "a/28\350\242\201\350\264\265\346\243\256/\347\254\224\350\256\260/2022-1024\345\257\271\350\261\241\347\254\224\350\256\260.md" "b/28\350\242\201\350\264\265\346\243\256/\347\254\224\350\256\260/2022-1024\345\257\271\350\261\241\347\254\224\350\256\260.md"
new file mode 100644
index 0000000..4e91923
--- /dev/null
+++ "b/28\350\242\201\350\264\265\346\243\256/\347\254\224\350\256\260/2022-1024\345\257\271\350\261\241\347\254\224\350\256\260.md"
@@ -0,0 +1,148 @@
+# 对象
+
+## 1.概念
+
+对象就是一组“键值对”(key-value)的集合,是一种无序的复合数据集合。
+
+```js
+var obj = {
+ foo: 'Hello',
+ bar: 'World'
+};
+```
+
+### 2.创建对象的方式
+
+#### 2.1 new Object() 方法
+
+```js
+var person1 = new Object(); //创建了一个新的空的对象
+ person1.name = "jimmy";
+```
+
+#### 2.2字面量方式
+
+```js
+var obj = {
+ name:'jimmy'
+}
+```
+
+#### 2.3工厂方法
+
+```js
+function createPerson(name,age){
+ // 创建一个空对象
+ var person = new Object();
+ // 添加属性和方法,属性可以接受参数的值
+ person.name = name;
+ person.age = age;
+ // 将对象作为函数的返回值
+ return person;
+}
+ // 想创建一个对象,可以调用工厂函数
+ var p1 = createPerson("jimmy",18);
+复制代码
+```
+
+#### 2.4 构造函数
+
+```js
+function Person(name,age){
+ this.name = name;
+ this.age = age;
+ this.sayHi = function () {
+ console.log("hello");
+ };
+}
+var p = new Person("jimmy",18);
+```
+
+### 3.获取属性的值
+
+###### 3.1**使用 . 获取**
+
+```javascript
+person.getFullName()
+```
+
+###### 3.2使用 ['']获取
+
+```javascript
+person.['QQ Number']
+```
+
+##### 3.3添加属性
+
+```javascript
+//给person对象添加职业:title:'student'属性
+//添加'C#' 技能
+```
+
+#### 4、对象解构
+
+```js
+let person = {
+ name:'Zoe',
+ age:27
+}
+//不使用解构
+let personName = person.name, personAge = person.age
+
+//使用解构:可以在一个类似对象字面量的结构中,声明多个变量。同时执行多个赋值操作
+let {name:personName, age:personAge} = person;
+
+//让变量直接使用属性名称
+let {name,age} = person
+
+log(personName,personAge)
+
+```
+
+ 解构赋值不一定需要与对象的属性匹配。赋值的时候可以忽略某些属性,而如果引用的属性不存在,则为undefined。此时可以在解构的同时定义默认值
+
+```js
+let {name, job} = person //此时没有job属性
+let {nam, job='student'} //设定默认值
+```
+
+ 解构并不要求变量必须在解构表达式声明,如果是事先给的,则必须包含在一对括号中
+
+```js
+let personName, personAge;
+({name:personName,age:personAge} = person )
+```
+
+还可以使用嵌套解构获取
+
+### 5.属性的查看
+
+查看一个对象本身的所有属性,可以使用Object.keys方法。
+
+```js
+var obj = {
+ key1: 1,
+ key2: 2
+};
+
+Object.keys(obj);
+// ['key1', 'key2']
+```
+
+### 6.属性的删除
+
+delete命令用于删除对象的属性,删除成功后返回true。
+
+```js
+var obj = { p: 1 };
+Object.keys(obj) // ["p"]
+
+delete obj.p // true
+obj.p // undefined
+Object.keys(obj) // []
+```
+
+上面代码中,delete命令删除对象obj的p属性。删除后,再读取p属性就会返回undefined,而且Object.keys方法的返回值也不再包括该属性。
+
+注意,删除一个不存在的属性,delete不报错,而且返回true。
+
--
Gitee
From aba117a780abae76867e271a2b87548a599103ea Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E8=A2=81=E8=B4=B5=E6=A3=AE?= <3032059138@qq.com>
Date: Thu, 27 Oct 2022 03:20:13 +0000
Subject: [PATCH 3/4] =?UTF-8?q?28=E8=A2=81=E8=B4=B5=E6=A3=AE?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Signed-off-by: 袁贵森 <3032059138@qq.com>
---
...\347\261\273\344\275\234\344\270\232.html" | 71 +++++++++++++++++++
1 file changed, 71 insertions(+)
create mode 100644 "28\350\242\201\350\264\265\346\243\256/\344\275\234\344\270\232/2022-1026\345\214\205\350\243\205\347\261\273\344\275\234\344\270\232.html"
diff --git "a/28\350\242\201\350\264\265\346\243\256/\344\275\234\344\270\232/2022-1026\345\214\205\350\243\205\347\261\273\344\275\234\344\270\232.html" "b/28\350\242\201\350\264\265\346\243\256/\344\275\234\344\270\232/2022-1026\345\214\205\350\243\205\347\261\273\344\275\234\344\270\232.html"
new file mode 100644
index 0000000..2f36905
--- /dev/null
+++ "b/28\350\242\201\350\264\265\346\243\256/\344\275\234\344\270\232/2022-1026\345\214\205\350\243\205\347\261\273\344\275\234\344\270\232.html"
@@ -0,0 +1,71 @@
+
+
+
+
+
+
+ Document
+
+
+
+
+
\ No newline at end of file
--
Gitee
From 302693969a467d34827733ceded02c8df9739ca0 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E8=A2=81=E8=B4=B5=E6=A3=AE?= <3032059138@qq.com>
Date: Thu, 27 Oct 2022 03:20:30 +0000
Subject: [PATCH 4/4] =?UTF-8?q?28=E8=A2=81=E8=B4=B5=E6=A3=AE?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Signed-off-by: 袁贵森 <3032059138@qq.com>
---
...05\347\261\273\347\254\224\350\256\260.md" | 118 ++++++++++++++++++
1 file changed, 118 insertions(+)
create mode 100644 "28\350\242\201\350\264\265\346\243\256/\347\254\224\350\256\260/2022-1026\345\214\205\350\243\205\347\261\273\347\254\224\350\256\260.md"
diff --git "a/28\350\242\201\350\264\265\346\243\256/\347\254\224\350\256\260/2022-1026\345\214\205\350\243\205\347\261\273\347\254\224\350\256\260.md" "b/28\350\242\201\350\264\265\346\243\256/\347\254\224\350\256\260/2022-1026\345\214\205\350\243\205\347\261\273\347\254\224\350\256\260.md"
new file mode 100644
index 0000000..e9de6a9
--- /dev/null
+++ "b/28\350\242\201\350\264\265\346\243\256/\347\254\224\350\256\260/2022-1026\345\214\205\350\243\205\347\261\273\347\254\224\350\256\260.md"
@@ -0,0 +1,118 @@
+# 包装类
+
+### 包装类:
+
+1. js有三个包装类
+
+ - Number、Boolean、String
+
+2. 所有的包装类都有 valueOf() 和 toString() 方法
+
+ - 基本上所有的对象 都有 valueOf() 和 toString() 方法
+ - Math 和 Error 对象没有valueOf方法
+
+3. 包装类才有 组包 和 拆包
+
+ - 巧记:组包是由简单变复杂,拆包是由复杂变简单
+
+ - 组包:**基本数据**类型 转成 **引用数据** 类型
+
+ - 显式组包:new 包装类()
+ - 隐式组包:
+
+ ```ini
+ var test=1;
+ test.toString(); //'1' 这个过程就有隐式组包,因为只有对象才有方法
+ 复制代码
+ ```
+
+ - 拆包: **引用数据** 类型 转成 **基本数据** 类型
+
+ - 调用 包装类.valueOf()
+
+ | 操作对象类型 | 返回值 |
+ | ---------------------- | ------------------------------------ |
+ | Boolean | 布尔值 |
+ | Number | 数字值 |
+ | String | 字符串 |
+ | ---------------------- | 以上的操作对象的valueOf方法 也叫拆包 |
+ | Array | 数组本身 |
+ | Date | 从1970年1月1日开始到现在的毫秒数 |
+ | Function | 函数本身 |
+ | Object | 对象本身(这也是默认情况) |
+
+ - 隐式组包 和 隐式拆包
+
+ - var test = 1; test.toString(); // '1' 组包 test = new Number(test);
+ - typeof test;// number 隐式拆包了
+
+ - 显式组包 和 显式拆包
+
+ - test = new Number(test);// 组包
+ - test = test.valueof();//拆包
+
+#### Boolean
+
+- toString() 方法返回指定的布尔对象的字符串形式。
+
+```javascript
+var flag1 = new Boolean(true);
+console.log(flag1.toString()); // "true"
+var flag2 = new Boolean(1);
+console.log(flag2.toString());// "true"
+```
+
+- valueOf() 方法返回一个Boolean对象的原始值
+
+```javascript
+var x = new Boolean();
+console.log(x.valueOf());// false
+var y = new Boolean("Mozilla");
+console.log(y.valueOf());// true
+```
+
+#### Number
+
+- 一些方法和Global上的方法功能一样,一般都是用Global上的方法即可:
+
+ ```javascript
+ //例如: Number.parseInt() 、Number.parseFloat()
+ var num = '23a3';
+ Number.parseInt(num) // 23
+ parseInt(num); // 23, Global上的parseInt()
+ ```
+
+#### String 包装类
+
+- String包装类 隐式 或 显式 组包以后可以使用一些String原型上的一些api
+
+ - charAt(index)
+
+ 方法从一个字符串中返回指定的字符。
+
+ - index默认为0
+ - index大于字符串总长度,返回空字符串
+
+- indexOf(searchValue[, fromIndex])
+
+ 查找字符串中是否存在某个字符串,并返回所在索引 。
+
+ - fromIndex 默认为0,从某个位置开始查找
+ - 如果未找到该值,则返回-1
+
+- lastIndexOf 和indexOf类似,是查找最后一次出现的索引位置
+
+- slice(begin[, end])
+
+ 方法提取一个字符串的一部分,并返回一新的字符串。
+
+ - begin 开始位置
+ - end结束位置,默认值是从begin一直到字符串结束
+
+- concat将一个或多个字符串与原字符串连接合并,形成一个新的字符串并返回。
+
+- toUpperCase() 将调用该方法的字符串值转换为大写形式,并返回。
+
+- toLowerCase() 会将调用该方法的字符串值转为小写形式,并返回。
+
+- trim() 方法会从一个字符串的两端删除空白字符
\ No newline at end of file
--
Gitee