From 77e0d136f51a2a1de3674479e92e3f9fd1552c78 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=98=8E=E5=86=A0=E5=AE=87?= Date: Sun, 5 Nov 2023 13:13:49 +0000 Subject: [PATCH 1/3] =?UTF-8?q?=E9=98=8E=E5=86=A0=E5=AE=87=E7=9A=84?= =?UTF-8?q?=E4=BD=9C=E4=B8=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 阎冠宇 --- .../20231103 \345\257\271\350\261\241.md" | 367 ++++++++++++++++++ 1 file changed, 367 insertions(+) create mode 100644 "34\351\230\216\345\206\240\345\256\207/20231103 \345\257\271\350\261\241.md" diff --git "a/34\351\230\216\345\206\240\345\256\207/20231103 \345\257\271\350\261\241.md" "b/34\351\230\216\345\206\240\345\256\207/20231103 \345\257\271\350\261\241.md" new file mode 100644 index 0000000..c07a513 --- /dev/null +++ "b/34\351\230\216\345\206\240\345\256\207/20231103 \345\257\271\350\261\241.md" @@ -0,0 +1,367 @@ +理解什么是对象,掌握定义对象的语法 +- 掌握数学对象的使用 + +## 对象:特征(属性)和行为(方法) + +> 对象是 JavaScript 数据类型的一种,之前已经学习了数值类型、字符串类型、布尔类型、undefined。对象数据类型可以被理解成是一种数据集合。它由属性和方法两部分构成。 + +### 语法 + +声明一个对象类型的变量与之前声明一个数值或字符串类型的变量没有本质上的区别。 + +```html + + + + + JavaScript 基础 - 对象语法 + + + + + + +``` + +### 属性和访问 + +数据描述性的信息称为属性,如人的姓名、身高、年龄、性别等,一般是名词性的。 + +1. 属性都是成 对出现的,包括属性名和值,它们之间使用英文 `:` 分隔 +2. 多个属性之间使用英文 `,` 分隔 +3. 属性就是依附在对象上的变量 +4. 属性名可以使用 `""` 或 `''`,一般情况下省略,除非名称遇到特殊符号如空格、中横线等 + +```html + + + + + JavaScript 基础 - 对象语法 + + + + + + +``` + +声明对象,并添加了若干属性后,可以使用 `.` 或 `[]` 获得对象中属性对应的值,我称之为属性访问。 + +没有必要的时候直接使用点语法, 在需要解析变量的时候使用 [] 语法 + +```html + + + + + JavaScript 基础 - 对象语法 + + + + + + +``` + +扩展:也可以动态为对象添加属性,动态添加与直接定义是一样的,只是语法上更灵活。 + +```html + + + + + JavaScript 基础 - 对象语法 + + + + + + +``` + +### 方法和调用 + +数据行为性的信息称为方法,如跑步、唱歌等,一般是动词性的,其本质是函数。 + +1. 方法是由方法名和函数两部分构成,它们之间使用 : 分隔 +2. 多个属性之间使用英文 `,` 分隔 +3. 方法是依附在对象中的函数 +4. 方法名可以使用 `""` 或 `''`,一般情况下省略,除非名称遇到特殊符号如空格、中横线等 + +```html + + + + + JavaScript 基础 - 对象方法 + + + + + + +``` + +声明对象,并添加了若干方法后,可以使用 `.` 或 `[]` 调用对象中函数,我称之为方法调用。 + +```html + + + + + JavaScript 基础 - 对象方法 + + + + + + +``` + +扩展:也可以动态为对象添加方法,动态添加与直接定义是一样的,只是语法上更灵活。 + +```html + + + + + JavaScript 基础 - 对象方法 + + + + + + +``` + +**注:无论是属性或是方法,同一个对象中出现名称一样的,后面的会覆盖前面的。** + +### null + +null 也是 JavaScript 中数据类型的一种,通常只用它来表示不存在的对象。使用 typeof 检测类型它的类型时,结果为 `object`。 + +#### 遍历对象 + +目标:能够遍历输出对象里面的元素 + +**for 遍历对象的问题**: + +1. 对象没有像数组一样的length属性,所以无法确定长度 +2. 对象里面是无序的键值对, 没有规律. 不像数组里面有规律的下标 + +~~~javascript +let stu = { + name : '小明', + age : 18, + sex : '女', + address : '龙岩闽大路1号', + hobby : '唱歌,跳舞,喝酒,玩游戏' +} +for(let k in stu) { + // k 属性名 例如 name,age,sex 这些属性名 + // stu[k] 根据属性名查属性值 例如stu[age],查到的是18 因为k是变量,所以要用[] + console.log(k); // 属性名 + console.log(stu[k]); //属性值 +} +~~~ + +for in 不提倡遍历数组 因为 k 是 字符串 + +1. 一般不用这种方式遍历数组、主要是用来遍历对象 +2. for in语法中的 k 是一个变量, 在循环的过程中依次代表对象的属性名 +3. 由于 k 是变量, 所以必须使用 [ ] 语法解析 +4. 一定记住: k 是获得对象的属性名, 对象名[k] 是获得 属性值 + +## 内置对象 + +回想一下我们曾经使用过的 `console.log`,`console`其实就是 JavaScript 中内置的对象,该对象中存在一个方法叫 `log`,然后调用 `log` 这个方法,即 `console.log()`。 + +除了 `console` 对象外,JavaScritp 还有其它的内置的对象 + +### Math + +`Math` 是 JavaScript 中内置的对象,称为数学对象,这个对象下即包含了属性,也包含了许多的方法。 + +#### 属性 + +- Math.PI,获取圆周率 + +```javascript +// 圆周率 +console.log(Math.PI); +``` + +#### 方法 + +- Math.random,生成 0 到 1 间的随机数 + +```javascript +// 0 ~ 1 之间的随机数, 包含 0 不包含 1 +Math.random() +// 获取2个数范围间的随机整数 +let rd = Math.floor((Math.random() * (max - min + 1)) + min); +``` + +- Math.ceil,数字向上取整 + +```javascript +// 舍弃小数部分,整数部分加1 +Math.ceil(3.4) +``` + +- Math.floor,数字向下取整 + +```javascript +// 舍弃小数部分,整数部分不变 +Math.floor(4.68) +``` + +- Math.round,四舍五入取整 + +```javascript +// 取整,四舍五入原则 +Math.round(5.46539) +Math.round(4.849) +``` + +- Math.max,在一组数中找出最大的 + +```javascript +// 找出最大值 +Math.max(10, 21, 7, 24, 13) +``` + +- Math.min,在一组数中找出最小的 + +```javascript +// 找出最小值 +Math.min(24, 18, 6, 19, 21) +``` + +- Math.pow,幂方法 + +```javascript +// 求某个数的多少次方 +Math.pow(4, 2) // 求 4 的 2 次方 +Math.pow(2, 3) // 求 2 的 3 次方 +``` + +- Math.sqrt,平方根 + +```javascript +// 求某数的平方根 +Math.sqrt(16) +``` + +数学对象提供了比较多的方法,这里不要求强记,通过演示数学对象的使用,加深对对象的理解。 \ No newline at end of file -- Gitee From 4dca61505e497c1225150697e22b025ad664875d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=98=8E=E5=86=A0=E5=AE=87?= Date: Sun, 5 Nov 2023 13:19:05 +0000 Subject: [PATCH 2/3] =?UTF-8?q?=E5=88=A0=E9=99=A4=E6=96=87=E4=BB=B6=2034?= =?UTF-8?q?=E9=98=8E=E5=86=A0=E5=AE=87/20231103=20=E5=AF=B9=E8=B1=A1.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../20231103 \345\257\271\350\261\241.md" | 367 ------------------ 1 file changed, 367 deletions(-) delete mode 100644 "34\351\230\216\345\206\240\345\256\207/20231103 \345\257\271\350\261\241.md" diff --git "a/34\351\230\216\345\206\240\345\256\207/20231103 \345\257\271\350\261\241.md" "b/34\351\230\216\345\206\240\345\256\207/20231103 \345\257\271\350\261\241.md" deleted file mode 100644 index c07a513..0000000 --- "a/34\351\230\216\345\206\240\345\256\207/20231103 \345\257\271\350\261\241.md" +++ /dev/null @@ -1,367 +0,0 @@ -理解什么是对象,掌握定义对象的语法 -- 掌握数学对象的使用 - -## 对象:特征(属性)和行为(方法) - -> 对象是 JavaScript 数据类型的一种,之前已经学习了数值类型、字符串类型、布尔类型、undefined。对象数据类型可以被理解成是一种数据集合。它由属性和方法两部分构成。 - -### 语法 - -声明一个对象类型的变量与之前声明一个数值或字符串类型的变量没有本质上的区别。 - -```html - - - - - JavaScript 基础 - 对象语法 - - - - - - -``` - -### 属性和访问 - -数据描述性的信息称为属性,如人的姓名、身高、年龄、性别等,一般是名词性的。 - -1. 属性都是成 对出现的,包括属性名和值,它们之间使用英文 `:` 分隔 -2. 多个属性之间使用英文 `,` 分隔 -3. 属性就是依附在对象上的变量 -4. 属性名可以使用 `""` 或 `''`,一般情况下省略,除非名称遇到特殊符号如空格、中横线等 - -```html - - - - - JavaScript 基础 - 对象语法 - - - - - - -``` - -声明对象,并添加了若干属性后,可以使用 `.` 或 `[]` 获得对象中属性对应的值,我称之为属性访问。 - -没有必要的时候直接使用点语法, 在需要解析变量的时候使用 [] 语法 - -```html - - - - - JavaScript 基础 - 对象语法 - - - - - - -``` - -扩展:也可以动态为对象添加属性,动态添加与直接定义是一样的,只是语法上更灵活。 - -```html - - - - - JavaScript 基础 - 对象语法 - - - - - - -``` - -### 方法和调用 - -数据行为性的信息称为方法,如跑步、唱歌等,一般是动词性的,其本质是函数。 - -1. 方法是由方法名和函数两部分构成,它们之间使用 : 分隔 -2. 多个属性之间使用英文 `,` 分隔 -3. 方法是依附在对象中的函数 -4. 方法名可以使用 `""` 或 `''`,一般情况下省略,除非名称遇到特殊符号如空格、中横线等 - -```html - - - - - JavaScript 基础 - 对象方法 - - - - - - -``` - -声明对象,并添加了若干方法后,可以使用 `.` 或 `[]` 调用对象中函数,我称之为方法调用。 - -```html - - - - - JavaScript 基础 - 对象方法 - - - - - - -``` - -扩展:也可以动态为对象添加方法,动态添加与直接定义是一样的,只是语法上更灵活。 - -```html - - - - - JavaScript 基础 - 对象方法 - - - - - - -``` - -**注:无论是属性或是方法,同一个对象中出现名称一样的,后面的会覆盖前面的。** - -### null - -null 也是 JavaScript 中数据类型的一种,通常只用它来表示不存在的对象。使用 typeof 检测类型它的类型时,结果为 `object`。 - -#### 遍历对象 - -目标:能够遍历输出对象里面的元素 - -**for 遍历对象的问题**: - -1. 对象没有像数组一样的length属性,所以无法确定长度 -2. 对象里面是无序的键值对, 没有规律. 不像数组里面有规律的下标 - -~~~javascript -let stu = { - name : '小明', - age : 18, - sex : '女', - address : '龙岩闽大路1号', - hobby : '唱歌,跳舞,喝酒,玩游戏' -} -for(let k in stu) { - // k 属性名 例如 name,age,sex 这些属性名 - // stu[k] 根据属性名查属性值 例如stu[age],查到的是18 因为k是变量,所以要用[] - console.log(k); // 属性名 - console.log(stu[k]); //属性值 -} -~~~ - -for in 不提倡遍历数组 因为 k 是 字符串 - -1. 一般不用这种方式遍历数组、主要是用来遍历对象 -2. for in语法中的 k 是一个变量, 在循环的过程中依次代表对象的属性名 -3. 由于 k 是变量, 所以必须使用 [ ] 语法解析 -4. 一定记住: k 是获得对象的属性名, 对象名[k] 是获得 属性值 - -## 内置对象 - -回想一下我们曾经使用过的 `console.log`,`console`其实就是 JavaScript 中内置的对象,该对象中存在一个方法叫 `log`,然后调用 `log` 这个方法,即 `console.log()`。 - -除了 `console` 对象外,JavaScritp 还有其它的内置的对象 - -### Math - -`Math` 是 JavaScript 中内置的对象,称为数学对象,这个对象下即包含了属性,也包含了许多的方法。 - -#### 属性 - -- Math.PI,获取圆周率 - -```javascript -// 圆周率 -console.log(Math.PI); -``` - -#### 方法 - -- Math.random,生成 0 到 1 间的随机数 - -```javascript -// 0 ~ 1 之间的随机数, 包含 0 不包含 1 -Math.random() -// 获取2个数范围间的随机整数 -let rd = Math.floor((Math.random() * (max - min + 1)) + min); -``` - -- Math.ceil,数字向上取整 - -```javascript -// 舍弃小数部分,整数部分加1 -Math.ceil(3.4) -``` - -- Math.floor,数字向下取整 - -```javascript -// 舍弃小数部分,整数部分不变 -Math.floor(4.68) -``` - -- Math.round,四舍五入取整 - -```javascript -// 取整,四舍五入原则 -Math.round(5.46539) -Math.round(4.849) -``` - -- Math.max,在一组数中找出最大的 - -```javascript -// 找出最大值 -Math.max(10, 21, 7, 24, 13) -``` - -- Math.min,在一组数中找出最小的 - -```javascript -// 找出最小值 -Math.min(24, 18, 6, 19, 21) -``` - -- Math.pow,幂方法 - -```javascript -// 求某个数的多少次方 -Math.pow(4, 2) // 求 4 的 2 次方 -Math.pow(2, 3) // 求 2 的 3 次方 -``` - -- Math.sqrt,平方根 - -```javascript -// 求某数的平方根 -Math.sqrt(16) -``` - -数学对象提供了比较多的方法,这里不要求强记,通过演示数学对象的使用,加深对对象的理解。 \ No newline at end of file -- Gitee From 94f1a1c1a74125859805c50bd7ac72323092529b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=98=8E=E5=86=A0=E5=AE=87?= Date: Sun, 5 Nov 2023 13:20:25 +0000 Subject: [PATCH 3/3] =?UTF-8?q?=E9=98=8E=E5=86=A0=E5=AE=87=E7=9A=84?= =?UTF-8?q?=E4=BD=9C=E4=B8=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 阎冠宇 --- ...71\350\261\241\347\273\203\344\271\240.md" | 108 ++++++++++++++++++ 1 file changed, 108 insertions(+) create mode 100644 "34\351\230\216\345\206\240\345\256\207/20231103\345\257\271\350\261\241\347\273\203\344\271\240.md" diff --git "a/34\351\230\216\345\206\240\345\256\207/20231103\345\257\271\350\261\241\347\273\203\344\271\240.md" "b/34\351\230\216\345\206\240\345\256\207/20231103\345\257\271\350\261\241\347\273\203\344\271\240.md" new file mode 100644 index 0000000..409b00e --- /dev/null +++ "b/34\351\230\216\345\206\240\345\256\207/20231103\345\257\271\350\261\241\347\273\203\344\271\240.md" @@ -0,0 +1,108 @@ +# 笔记: + +```html +如何对一个对象的属性进行,增删,改由、查 +对属性的操作有两个格式1,对象名属性名,2对象名[属性名’] +//查:对象多,属性名 +alert(student.name);//一般99%的场景都是用,这种方法alert(student(agen]);//当需要用到变量的时候增 对象名.亲方属性名=值 +studont.hobhy=[唱歌”,喝酒”]; + +改 +student.age=19; +删 +delete 对象名.属性名 +deiect student.hobby; +操作方法和属性一样多了() +1,对名,方法名() 2.对象名['方法名']() +student.eat(); +Student['eat']() + +for 遍历对象的问题: + +1. 对象没有像数组一样的length属性,所以无法确定长度 +2. 对象里面是无序的键值对, 没有规律. 不像数组里面有规律的下标 +for in 不提倡遍历数组 因为 k 是 字符串 + +1. 一般不用这种方式遍历数组、主要是用来遍历对象 +2. for in语法中的 k 是一个变量, 在循环的过程中依次代表对象的属性名 +3. 由于 k 是变量, 所以必须使用 [ ] 语法解析 +4. 一定记住: k 是获得对象的属性名, 对象名[k] 是获得 属性值 +for(let k in stu) { + // k 属性名 例如 name,age,sex 这些属性名 + // stu[k] 根据属性名查属性值 例如stu[age],查到的是18 因为k是变量,所以要用[] + console.log(k); // 属性名 + console.log(stu[k]); //属性值 +} +内置对象 +除了 `console` 对象外,JavaScritp 还有其它的内置的对象 +``` + + + +### 练习题2: + +声明对象 + +目的: 复习对象的声明 + +要求: + +1. 声明一个变量per, 类型为对象类型 +2. 该对象的属性为性别,年龄,爱好(3个) +3. 该对象的方法有 说话, 吃饭(2个) +4. 在控制台分别调用该对象的属性和方法 + +```html +let per={ + sex:'男', + age:'18', + hobby:['篮球','乒乓球','羽毛球'], + say:function(){ + console.log(`这个${this.sex}的很会说话`) + }, + eat:function(a){ + console.log(`这个${this.sex}的很会吃${a}`) + } + +} + console.log(per.sex) + console.log(per.age) + console.log(per.hobby) + per.say() + per.eat('辣') +``` + + + +### 练习题3: + +调用对象的方法 + +目的: 复习对象的使用 + +要求: + +1. 对象声明完毕后, 调用对象中的吃饭的方法 +2. 提示: 对象中的方法本质是函数, 调用需要加() +3. 方法也可以传递参数的 + +```html +let per={ + sex:'男', + age:'18', + hobby:['篮球','乒乓球','羽毛球'], + say:function(){ + console.log(`这个${this.sex}的很会说话`) + }, + eat:function(a){ + console.log(`这个${this.sex}的很会吃${a}`) + } + +} + console.log(per.sex) + console.log(per.age) + console.log(per.hobby) + per.say() + per.eat('辣') +``` + -- Gitee