From 7efe19fb84501151a0d5410f3680b48e1d30db23 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=8D=A2=E8=BF=87=E5=BB=BA?= <168718453@qq.com> Date: Fri, 28 Oct 2022 11:56:45 +0800 Subject: [PATCH] =?UTF-8?q?02=E5=8D=A2=E5=9B=BD=E5=BB=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...\345\270\270\347\224\250\347\261\273.html" | 88 ++++++++++++ ...\344\272\216\346\225\260\347\273\204.html" | 89 ++++++++++++ ...\345\244\264\345\207\275\346\225\260.html" | 40 ++++++ ...\350\261\241\350\247\243\346\236\204.html" | 128 ++++++++++++++++++ "\344\275\234\344\270\232/10.26.html" | 77 +++++++++++ ...14\345\270\270\347\224\250\347\261\273.md" | 30 ++++ ...62\344\275\231\346\225\260\347\273\204.md" | 92 +++++++++++++ ...04\345\217\212\346\226\271\346\263\225.md" | 80 +++++++++++ ...55\345\244\264\345\207\275\346\225\260.md" | 47 +++++++ ...71\350\261\241\350\247\243\346\236\204.md" | 115 ++++++++++++++++ "\347\254\224\350\256\260/10.26.md" | 68 ++++++++++ 11 files changed, 854 insertions(+) create mode 100644 "\344\275\234\344\270\232/10.14\345\270\270\347\224\250\347\261\273.html" create mode 100644 "\344\275\234\344\270\232/10.17\345\255\227\347\254\246\344\270\262\344\272\216\346\225\260\347\273\204.html" create mode 100644 "\344\275\234\344\270\232/10.21\347\256\255\345\244\264\345\207\275\346\225\260.html" create mode 100644 "\344\275\234\344\270\232/10.24\345\257\271\350\261\241\345\217\212\345\257\271\350\261\241\350\247\243\346\236\204.html" create mode 100644 "\344\275\234\344\270\232/10.26.html" create mode 100644 "\347\254\224\350\256\260/10.14\345\270\270\347\224\250\347\261\273.md" create mode 100644 "\347\254\224\350\256\260/10.17\345\255\227\347\254\246\344\270\262\344\275\231\346\225\260\347\273\204.md" create mode 100644 "\347\254\224\350\256\260/10.20\346\225\260\347\273\204\345\217\212\346\226\271\346\263\225.md" create mode 100644 "\347\254\224\350\256\260/10.21\347\256\255\345\244\264\345\207\275\346\225\260.md" create mode 100644 "\347\254\224\350\256\260/10.24\345\257\271\350\261\241\345\217\212\345\257\271\350\261\241\350\247\243\346\236\204.md" create mode 100644 "\347\254\224\350\256\260/10.26.md" diff --git "a/\344\275\234\344\270\232/10.14\345\270\270\347\224\250\347\261\273.html" "b/\344\275\234\344\270\232/10.14\345\270\270\347\224\250\347\261\273.html" new file mode 100644 index 0000000..b472162 --- /dev/null +++ "b/\344\275\234\344\270\232/10.14\345\270\270\347\224\250\347\261\273.html" @@ -0,0 +1,88 @@ + + + + + + + Document + + + + + \ No newline at end of file diff --git "a/\344\275\234\344\270\232/10.17\345\255\227\347\254\246\344\270\262\344\272\216\346\225\260\347\273\204.html" "b/\344\275\234\344\270\232/10.17\345\255\227\347\254\246\344\270\262\344\272\216\346\225\260\347\273\204.html" new file mode 100644 index 0000000..384bc31 --- /dev/null +++ "b/\344\275\234\344\270\232/10.17\345\255\227\347\254\246\344\270\262\344\272\216\346\225\260\347\273\204.html" @@ -0,0 +1,89 @@ + + + + + + + Document + + + + + + \ No newline at end of file diff --git "a/\344\275\234\344\270\232/10.21\347\256\255\345\244\264\345\207\275\346\225\260.html" "b/\344\275\234\344\270\232/10.21\347\256\255\345\244\264\345\207\275\346\225\260.html" new file mode 100644 index 0000000..601dad1 --- /dev/null +++ "b/\344\275\234\344\270\232/10.21\347\256\255\345\244\264\345\207\275\346\225\260.html" @@ -0,0 +1,40 @@ + + + + + + + Document + + + + + \ No newline at end of file diff --git "a/\344\275\234\344\270\232/10.24\345\257\271\350\261\241\345\217\212\345\257\271\350\261\241\350\247\243\346\236\204.html" "b/\344\275\234\344\270\232/10.24\345\257\271\350\261\241\345\217\212\345\257\271\350\261\241\350\247\243\346\236\204.html" new file mode 100644 index 0000000..a91b01d --- /dev/null +++ "b/\344\275\234\344\270\232/10.24\345\257\271\350\261\241\345\217\212\345\257\271\350\261\241\350\247\243\346\236\204.html" @@ -0,0 +1,128 @@ + + + + + + + Document + + + + + \ No newline at end of file diff --git "a/\344\275\234\344\270\232/10.26.html" "b/\344\275\234\344\270\232/10.26.html" new file mode 100644 index 0000000..518cdf3 --- /dev/null +++ "b/\344\275\234\344\270\232/10.26.html" @@ -0,0 +1,77 @@ + + + + + + + Document + + + + + + \ No newline at end of file diff --git "a/\347\254\224\350\256\260/10.14\345\270\270\347\224\250\347\261\273.md" "b/\347\254\224\350\256\260/10.14\345\270\270\347\224\250\347\261\273.md" new file mode 100644 index 0000000..6bdb273 --- /dev/null +++ "b/\347\254\224\350\256\260/10.14\345\270\270\347\224\250\347\261\273.md" @@ -0,0 +1,30 @@ +基本数据类型 + + Number - Integer,float + + Boolean Null Undefined Symbol String + +\n:换行 +\t:Tab键 +\\:斜杠 +\':单引号 +\":双引号 + +字符号下标 +第一个元素: string[0] 最后一个元素: string[string.length-1] + + +concat:将两个数组合并在一起 +indexof:查找数组的元素,返回-1表示不存在,与之相同的查找方法还有includes,lastindexof +toString():将数组转成字符串 +slice():表示切片,参数个数:0 1 2 返回一个数组对象 +splice(): 接收 0 2 多 个参数 表示移除,替换元素 + +Math: 舍入 ceil(向上取整) floor(向下取整) round(四舍五入) +//& 同1为1,有0为0 |:有1为1, 同0为0 + + var str = `JavaScript`; + + const arr = str.split('S') //将字符串以()分割,返回是数组 + console.log(arr); + // console.log(String.prototype); \ No newline at end of file diff --git "a/\347\254\224\350\256\260/10.17\345\255\227\347\254\246\344\270\262\344\275\231\346\225\260\347\273\204.md" "b/\347\254\224\350\256\260/10.17\345\255\227\347\254\246\344\270\262\344\275\231\346\225\260\347\273\204.md" new file mode 100644 index 0000000..b4cb5fe --- /dev/null +++ "b/\347\254\224\350\256\260/10.17\345\255\227\347\254\246\344\270\262\344\275\231\346\225\260\347\273\204.md" @@ -0,0 +1,92 @@ +什么是数组? +数组对象是使用单独的变量名来存储一系列的值。 + +数组可以用一个变量名存储所有的值,并且可以用变量名访问任何一个值。 + +数组中的每个元素都有自己的的ID,以便它可以很容易地被访问到。 + + 创建一个数组,有三种方法。 + +下面的代码定义了一个名为 myCars的数组对象: + +1: 常规方式: + +var myCars=new Array(); +myCars[0]="Saab"; +myCars[1]="Volvo"; +myCars[2]="BMW"; +2: 简洁方式: + +var myCars=new Array("Saab","Volvo","BMW"); +3: 字面: + +var myCars=["Saab","Volvo","BMW"]; + + 在一个数组中你可以有不同的对象 +你可以在一个数组中包含对象元素、函数、数组 + + 增: + arr[10] = 'java' + + 查 : arr[index] + + 改 + arr[1] = "五" + + 删: + delete arr[0]; + + 增加: push, pop , shift, unshift 链表 队列 + arr.pop() //删除最后一个元素 + arr.push(4,5,6) //在数组末尾添加元素 + arr.shift() //删除第一个元素 + arr.unshift(4,5,6) //往数组头部添加元素 + + + + 排序:sort():根据字符串顺序排序,不是按照数字大小排序 + 冒泡排序 + + + console.log('排序前:'+arr); + arr.sort() + arr1.sort() + + + reverse()反转数组 + const arr = [1, '5', null, undefined, 6, 4, 11111111] + arr.reverse() + + console.log(arr1); + + + splice():嫁接(裁掉不需要,需要的接上去) + delete count + + splice(index,delecount,insertvalue):下标index开始,删除delecount个元素 + 再添加inservalue + 只删除, 替换, 添加 + arr.splice(3,0,'嫁','接',666); 替换作用 + + 数组解构 + const arr = [1,2,3,4]; + var a = arr[0]; + var b = arr[1]; + var d = arr[3]; + var[a,...args] = arr; + console.log(a); + console.log(args); + console.log(b); + console.log(c); + console.log(d); + +const arr = [45,74,23,85,23,54,85]; + 通过冒泡排序, 从小到大 从大到小 + for(let i = 0; iarr[j+1]){ + 这部分用了数组解构 + [arr[j],arr[j+1]] = [arr[j+1],arr[j]] + } + } + } \ No newline at end of file diff --git "a/\347\254\224\350\256\260/10.20\346\225\260\347\273\204\345\217\212\346\226\271\346\263\225.md" "b/\347\254\224\350\256\260/10.20\346\225\260\347\273\204\345\217\212\346\226\271\346\263\225.md" new file mode 100644 index 0000000..a319638 --- /dev/null +++ "b/\347\254\224\350\256\260/10.20\346\225\260\347\273\204\345\217\212\346\226\271\346\263\225.md" @@ -0,0 +1,80 @@ +// 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.短路或:短路与 +var a = 4; +var b = 5; +(a===5) && (++b) +// 若 && 条件 第一个返回 false 后面不执行 +// 若 || 条件 第一个返回 true 后面的不执行 形成短路 +3. 二维数组 +//二维数组 +const arrayOfArray = [[1, 2, 3], [4, 5, 6]] +//增删改查 与一维数组类似 +console.log(arrayOfArray[1][1]); + +//删 +rrayOfArray[1].splice(1,1) +console.log(arrayOfArray); \ No newline at end of file diff --git "a/\347\254\224\350\256\260/10.21\347\256\255\345\244\264\345\207\275\346\225\260.md" "b/\347\254\224\350\256\260/10.21\347\256\255\345\244\264\345\207\275\346\225\260.md" new file mode 100644 index 0000000..48d3193 --- /dev/null +++ "b/\347\254\224\350\256\260/10.21\347\256\255\345\244\264\345\207\275\346\225\260.md" @@ -0,0 +1,47 @@ +对象 + +定义对象 + +字面量 + +var obj = { + name:value; + 'String':value; +} +构造函数 + +function GetName() { + this.name = values; + this.age = values; +} +工厂模式(设计模式) + +function GetValues(name,age) { + var that = { } + that.name = name + that.age = age + return that + } +生成对象 + +var obj = new obj(); + +const nameArr = Object.keys(users) + +nameArr.forEach(key => users[key].isLoggedIn ? count++ : count) + +增删查 + +查:obj.name + +增:obj.原来obj中没有的属性,相当于将该属性添加到对象obj中 + +删:delete 一般删之前要对该属性进行判断 + +对象解构 + +let{name:personName, age:personAge} = obj(取别名) + +嵌套解构 + +let { name: personName, skill: { sname: skillName } } = obj \ No newline at end of file diff --git "a/\347\254\224\350\256\260/10.24\345\257\271\350\261\241\345\217\212\345\257\271\350\261\241\350\247\243\346\236\204.md" "b/\347\254\224\350\256\260/10.24\345\257\271\350\261\241\345\217\212\345\257\271\350\261\241\350\247\243\346\236\204.md" new file mode 100644 index 0000000..20100a1 --- /dev/null +++ "b/\347\254\224\350\256\260/10.24\345\257\271\350\261\241\345\217\212\345\257\271\350\261\241\350\247\243\346\236\204.md" @@ -0,0 +1,115 @@ +对象 +对象: 类(人类,鱼类,鸟类) +万物对象( ): 属性和行为 +1.1.1字面量表达式创建对象 +var obj = { + name:{ + firstName:'李', + lastName:'四' + }, + age:18, + 'qq number': 1234560220 +} +1.1.2 属性:增删改查 + //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 构造函数方式 +//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 工厂模式 (设计模式) +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 对象解构 +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:返回的是键的数组 +const ArrName = Object.keys( ObjectName ) +obeject.values() +const ArrName = Object.values( ObjectName ) +object.entries() +object.assign() 合并对象 +//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]); \ No newline at end of file diff --git "a/\347\254\224\350\256\260/10.26.md" "b/\347\254\224\350\256\260/10.26.md" new file mode 100644 index 0000000..65543b2 --- /dev/null +++ "b/\347\254\224\350\256\260/10.26.md" @@ -0,0 +1,68 @@ +包装类 +构造函数的原理 + +​ function Test(){ + +this{} + +this = { + +​ name: '张三' + +​ age:16 + +​ } + +​ this.name = '张三' + +​ this.age = 16 + +​ return this + +​ } + +​ var test = new Test(); + +for ... of :遍历 + +​ for (e of Object.keys(obj)) { + +​ console.log(e); + +} + +将键值对成对变成数组放入外层数组(二维数组) + +​ const arr = Object.entries(obj) + +​ console.log(arr); + +​ or(e of Object.entries(obj)){ + +​ console.log(e); + +​ } + +obj本身是不可迭代的对象 + +​ for(e of obj){ + +​ console.log(e); + +} + +assign:浅拷贝(复制的是同一个地址,创建一个新的栈指向同一个堆),浅拷贝还具有合并对象的作用(将后面的对象向第一个对象合并,有相同属性的会进行替换) + +原始数据类型: number, boolean, string, null, undefined (symbol,bigint) + +包装类只有:number,boolean,string, null,undefined是没有包装类的 + +包装类:自动转成对象 + +var num = 5; 原始数据类型 + +num.a = 7; 1. new Number(5).a = 7 + +​ 2.delete new Number(5) + +console.log(num.a); new Number(5).a undefined \ No newline at end of file -- Gitee