diff --git "a/01\346\235\216\351\237\246\345\263\260/\344\275\234\344\270\232/2022_10_21\347\256\255\345\244\264\345\207\275\346\225\260.html" "b/01\346\235\216\351\237\246\345\263\260/\344\275\234\344\270\232/2022_10_21\347\256\255\345\244\264\345\207\275\346\225\260.html" new file mode 100644 index 0000000000000000000000000000000000000000..409d726912065f15aca949e02e5fc66e008aaf69 --- /dev/null +++ "b/01\346\235\216\351\237\246\345\263\260/\344\275\234\344\270\232/2022_10_21\347\256\255\345\244\264\345\207\275\346\225\260.html" @@ -0,0 +1,36 @@ + + + + + + + Document + + + + + \ No newline at end of file diff --git "a/01\346\235\216\351\237\246\345\263\260/\344\275\234\344\270\232/2022_10_24_\345\257\271\350\261\241.HTML" "b/01\346\235\216\351\237\246\345\263\260/\344\275\234\344\270\232/2022_10_24_\345\257\271\350\261\241.HTML" new file mode 100644 index 0000000000000000000000000000000000000000..6ec6da95deef829f60fe4e52b1a184a4c7fe6597 --- /dev/null +++ "b/01\346\235\216\351\237\246\345\263\260/\344\275\234\344\270\232/2022_10_24_\345\257\271\350\261\241.HTML" @@ -0,0 +1,66 @@ + + + + + + + 对象习题 + + + + + + \ No newline at end of file diff --git "a/01\346\235\216\351\237\246\345\263\260/\344\275\234\344\270\232/2022_10_26\345\214\205\350\243\205\347\261\273\344\270\212\350\257\276\347\273\203\344\271\240.html" "b/01\346\235\216\351\237\246\345\263\260/\344\275\234\344\270\232/2022_10_26\345\214\205\350\243\205\347\261\273\344\270\212\350\257\276\347\273\203\344\271\240.html" new file mode 100644 index 0000000000000000000000000000000000000000..590c1bb647a77c31687b5a29379f58a1cb2d943b --- /dev/null +++ "b/01\346\235\216\351\237\246\345\263\260/\344\275\234\344\270\232/2022_10_26\345\214\205\350\243\205\347\261\273\344\270\212\350\257\276\347\273\203\344\271\240.html" @@ -0,0 +1,52 @@ + + + + + + + Document + + + + + \ No newline at end of file diff --git "a/01\346\235\216\351\237\246\345\263\260/\347\254\224\350\256\260/2022-10-17-\345\255\227\347\254\246\344\270\262\345\270\270\347\224\250\347\261\273\344\270\216\346\225\260\347\273\204.md" "b/01\346\235\216\351\237\246\345\263\260/\347\254\224\350\256\260/2022-10-17-\345\255\227\347\254\246\344\270\262\345\270\270\347\224\250\347\261\273\344\270\216\346\225\260\347\273\204.md" index 8f06d52d69b74cd6b5be2dbba51bfee8d4aee129..bea388df03ae1fb49d5a393a01d96879ea036cd1 100644 --- "a/01\346\235\216\351\237\246\345\263\260/\347\254\224\350\256\260/2022-10-17-\345\255\227\347\254\246\344\270\262\345\270\270\347\224\250\347\261\273\344\270\216\346\225\260\347\273\204.md" +++ "b/01\346\235\216\351\237\246\345\263\260/\347\254\224\350\256\260/2022-10-17-\345\255\227\347\254\246\344\270\262\345\270\270\347\224\250\347\261\273\344\270\216\346\225\260\347\273\204.md" @@ -96,7 +96,7 @@ const arr = [1,2,3,4]; //数组解构: var[a,b,c,d] = arr -//保留剩余数组 args +////...args:剩余运算符,将剩下的参数都放进args数组中 var[a,...args] = arr; diff --git "a/01\346\235\216\351\237\246\345\263\260/\347\254\224\350\256\260/2022-10-20-\346\225\260\347\273\204\346\226\271\346\263\225.md" "b/01\346\235\216\351\237\246\345\263\260/\347\254\224\350\256\260/2022-10-20-\346\225\260\347\273\204\346\226\271\346\263\225.md" new file mode 100644 index 0000000000000000000000000000000000000000..3544f11c52bb8e18121760bf36c9905e448799eb --- /dev/null +++ "b/01\346\235\216\351\237\246\345\263\260/\347\254\224\350\256\260/2022-10-20-\346\225\260\347\273\204\346\226\271\346\263\225.md" @@ -0,0 +1,99 @@ +# 1.数组高阶方法 + +```js +// 1.1 concat:连接,数组合并 +const arr = [1,2,3] +const arr1 = [4,5,6] +const new_arr = arr.concat(arr1); +// 1.2 用...args:剩余运算符,将剩下的参数都放进args数组中也可以完成拼接 +const new_arr = [...arr,...arr1] + +// 2.1 join:将数组转成字符串 2.2 将字符串转成数组 string.split('') +const arr = [1, 2, 3, 4, 5, 6] +console.log(arr.join); +var str = arr.join(',') // ('表示用什么来接连') +console.log(str); + +//3. 映射方法map(), +const arr = [1, 2, 3, 4, 5, 6] +const arr1 = arr.map( + function (element) { + return element + 1 + } +) +console.log(arr1); + +// 4.将数组的单词全转为大写 +const countries = ['Finland', 'Sweden', 'Norway', 'Denmark', 'Iceland'] +const new_countries = countries.map( + function (e){ + return e.toUpperCase() + } +) +console.log(new_countries); + + +// 5.filter过滤:返回数组中符合条件的数据 +const new_arr = arr.filter( + function (e){ + return e%2==0 //true:返回 false:不符合条件=>过滤 + } +) +console.log(new_arr); + + +// 6.reduce(),reduceRight():归纳汇总: 返回一个总数据 +const arr = [1, 2, 3, 4, 5, 6] +var sum = arr.reduceRight( + function (v1,v2){ + return v1*v2 + } +) +console.log(sum); + +// 7.1 every():只要有一个false,返回 + +var isMatch = arr.every( + function (e){ + return e>1 + } +) +console.log(isMatch); +// 7.2 some(): +var isMatch = arr.some( + function (e){ + return e==6 + } +) +console.log(isMatch); + +``` + + + +# 2.短路或:短路与 + +```js +var a = 4; +var b = 5; +(a===5) && (++b) +// 若 && 条件 第一个返回 false 后面不执行 +// 若 || 条件 第一个返回 true 后面的不执行 形成短路 + +``` + + + +# 3. 二维数组 + +```js +//二维数组 +const arrayOfArray = [[1, 2, 3], [4, 5, 6]] +//增删改查 与一维数组类似 +console.log(arrayOfArray[1][1]); + +//删 +rrayOfArray[1].splice(1,1) +console.log(arrayOfArray); +``` + diff --git "a/01\346\235\216\351\237\246\345\263\260/\347\254\224\350\256\260/2022-10-21\345\207\275\346\225\260.md" "b/01\346\235\216\351\237\246\345\263\260/\347\254\224\350\256\260/2022-10-21\345\207\275\346\225\260.md" new file mode 100644 index 0000000000000000000000000000000000000000..0084b0771420e1b59daf58027fe8bf6313f536a5 --- /dev/null +++ "b/01\346\235\216\351\237\246\345\263\260/\347\254\224\350\256\260/2022-10-21\345\207\275\346\225\260.md" @@ -0,0 +1,70 @@ +# 函数 + +- 无参函数 +- 有参函数 + +```js +//有参(形参) +function fn(A,B,...args){ +//arguments:伪数组 +// for (let index = 0; index < arguments.length; index++) { +// console.log(arguments[index]); +// } +console.log(A); +console.log(B); +console.log(args); +} + +var a = 4; //everyone makes mistakes +fn(1,2,3,4,5,6,7,8,9); +``` + +- 匿名函数 + +```js + //匿名函数: function (){} +function (num) { + var res = 1; //result:定义积: 1*1*2*3*4*5 + for (var i = 1; i <= num; i++) { + res *= i; //res = res * i + } + return res; +} + +``` + +- 函数表达式 + +```js +//表达式 +var aa = function(num){ + var res = 1; + for(var i = 1; i <= num ; i++){ + res*=i; + } + return res; +} +var res = aa(num); +console.log(res); +console.log(typeof aa); //number boolean array function(对象) + + +function fn(){ + //arguments:只有长度,只能找下标和元素 + //console.log(arguments); +} +fn(1,2,3,4,5,6,7,8,9,0) + + +``` + +- 箭头函数 (注意:无返回值,一般不用箭头函数 ) + +```js +//箭头函数: var aa = (形参列表) => {函数体} arrow function +var aa = function (n1, n2) { +var sum = n1 + n2 +return sum; +} +``` + diff --git "a/01\346\235\216\351\237\246\345\263\260/\347\254\224\350\256\260/2022-10-24-\345\257\271\350\261\241.md" "b/01\346\235\216\351\237\246\345\263\260/\347\254\224\350\256\260/2022-10-24-\345\257\271\350\261\241.md" new file mode 100644 index 0000000000000000000000000000000000000000..f48e70dfa3f6c4a201320139ed8cc7a3429b6ecb --- /dev/null +++ "b/01\346\235\216\351\237\246\345\263\260/\347\254\224\350\256\260/2022-10-24-\345\257\271\350\261\241.md" @@ -0,0 +1,157 @@ +# 对象 + +- 对象: 类(人类,鱼类,鸟类) +- 万物对象( ): 属性和行为 + +## 1.1.1字面量表达式创建对象 + +```js +var obj = { + name:{ + firstName:'李', + lastName:'四' + }, + age:18, + 'qq number': 1234560220 +} +``` + +## 1.1.2 属性:增删改查 + +```js + //1.查 . 一级属性 二级属性往后[][] +console.log(obj.name); +console.log(obj.age); +//1.1查 使用 [] +console.log(obj['name']['lastName']); + +//增 +// obj.原来obj中没有的属性,相当于将该属性添加到对象obj中 +obj.gender = '男' +console.log(obj); + +//删 delete 一般删之前要对该属性进行判断 +delete obj.age +console.log(obj); + + +``` + + + +## 1.2 构造函数方式 + +```js +//2.1 this{} :new +//2.2 this赋值 (自己操作) +// 例 +function Students(name,age){ + this.name = name; + this.age = age; +} + +var zj = new Students('Zoe',16) + +``` + +## 1.3 工厂模式 (设计模式) + +```js +function GetValues(name,age) { + var that = { } + that.name = name + that.age = age + return that +} + +var that = GetValues('张三',18) +console.log(typeof that); +``` + +1.4 原型模式 + +1.5 混合模式 + +## 2.1 对象解构 + +```js +var obj = { + name: '张三', + age: 16, + skill: { + sname: 'Java', + year: '2022' + } +} + +//2.1.1 取数据 +// 直接打印 +console.log(obj.skill[1].sname) +// 用变量接收 +let personName = obj.name, personAge = obj.age + +//2.1.1 取别名 +// 用变量接收 +let{name:personName, age:personAge} = obj + + + +//2.2嵌套解构 +let { name: personName, skill: { sname: skillName } } = obj +console.log(personName); +console.log(skillName); +``` + +## 3.1 对象中的方法 + +- object.keys() -> keys:返回的是键的数组 + +```js +const ArrName = Object.keys( ObjectName ) +``` + +- obeject.values() + +```js +const ArrName = Object.values( ObjectName ) +``` + +- object.entries() +- object.**assign**() 合并对象 + +```js +//assign:拷贝,浅拷贝(复制的是对象的地址),(手写一个对象的深拷贝)深拷贝(复制的的对象本身) +var obj = { + name: '张三', + age: 16, + gender: '男' +} +var obj1 = { + name: '李四', + title: 'student' +} +var obj2 = { + name:'王五' +} +var obj3 = { + name:'刘六' +} + +//assign:浅拷贝 + var obj2 = Object.assign(obj); +// 打印出结果属性为 : age gender name title +// 重复相同的属性值会以最后一个值返回,例如上面返回为: +// age:16 +// gander : '男' +// name : '刘六' +// title : 'student' + + +//assign:1.浅拷贝一个对象 2.合并对象(target,sources....) +console.log(Object.assign(obj,obj1,obj2,4,false,null,[12,3,34],{name:'张三'})); +console.log(obj[0]); +``` + + + +- object.hasOwnProperty() \ No newline at end of file diff --git "a/01\346\235\216\351\237\246\345\263\260/\347\254\224\350\256\260/2022-10-26-\345\214\205\350\243\205\347\261\273.md" "b/01\346\235\216\351\237\246\345\263\260/\347\254\224\350\256\260/2022-10-26-\345\214\205\350\243\205\347\261\273.md" new file mode 100644 index 0000000000000000000000000000000000000000..9e5397d33969460f8ffa5cb4b3c628d758aad3ca --- /dev/null +++ "b/01\346\235\216\351\237\246\345\263\260/\347\254\224\350\256\260/2022-10-26-\345\214\205\350\243\205\347\261\273.md" @@ -0,0 +1,50 @@ +# 包装类 + +- 原始数据类型: number, boolean, string, null, undefined (symbol,bigint) -> ES6 +- null undefined 没有包装 +- JS 为我们提供了三个包装类,通过这三个包装类可以将**基本数据类型**的数据**转换**为**对象** + - Stiring : 可以基本数据类型字符串转换为String对象 + - Number : 可以基本数据类型数字转换为Number对象 + - Boolean : 可以基本数据类型数字转换为Boolean 对象 + +- **创建基本数据类型的对象** + +```js +var str = new String('hello')  // str是一个值为'hello'的对象 即:String{'hello'} +var str1 = 'hello' +var num = new Number(3)  // num是一个值为3的对象 即:String{'hello'} +var num1 = 3 +var bool = new Boolean(true)  // bool是一个值为true的对象 即:String{'hello'} +var bool2 = true + +console.log(str)  // String {'hello'} +console.log(num)  // Number {3} +console.log(bool)  // Boolean {true} +console.log(typeof str)  // object +console.log(str === str1)  // false  (str是对象,而str1是字符串) +``` + +当我们调用比如字符串的方法时,后台会**临时**通过包装类来创建对象,然后通过对象调用方法,完成之后就会**立即销毁**, + + + + + + + + + + + + + + + + + + + + + + +