03 2022 档案

摘要:1:catch方法 具体看代码 1 const promise = new Promise((resolve, reject) => { 2 // resolve() 3 // reject('rejected meaasge') 第一种写法 4 //第二种写法 抛出异常 5 throw new E 阅读全文
posted @ 2022-03-31 19:59 沁霓 阅读(320) 评论(0) 推荐(0) 编辑
摘要:then 方法 then是对象上面的一个方法。它其实是放在 Promise.prototype.then 1:同一个Promise可以调用多次then方法 2:then方法传入的回调函数可以有返回值,返回值是一个新的Promise,具体返回的类型类似于resolve参数 返回值是一个新的Promis 阅读全文
posted @ 2022-03-31 11:54 沁霓 阅读(1930) 评论(0) 推荐(0) 编辑
摘要:1:异步操作(自己写回调来传入) 1 function requestData(url, successCallback, failureCallback) { 2 setTimeout(() => { 3 if (url "http://www.baidu.com") { 4 console.lo 阅读全文
posted @ 2022-03-30 21:22 沁霓 阅读(40) 评论(0) 推荐(0) 编辑
摘要:1:响应式函数的封装 1 //封装一个函数的响应式 2 //用数组来保存需要响应的函数 3 const reactiveFns = [] 4 //在watchFn里面的函数都会被监视 5 function watchFn(fn) { 6 reactiveFns.push(fn) 7 } 8 //对象 阅读全文
posted @ 2022-03-30 19:55 沁霓 阅读(71) 评论(0) 推荐(0) 编辑
摘要:1:在ES7之前判断数组里面是否有一个方法我们需要使用indexof ES7可以使用 includes 1 const arr = ['a', 12] 2 console.log(arr.includes(12)); 3 console.log(arr.indexOf(14)); 2:乘方运算 ** 阅读全文
posted @ 2022-03-30 09:54 沁霓 阅读(83) 评论(0) 推荐(0) 编辑
摘要:1:监听对象的第一种方式 Object.defineProperty 1 const obj = { 2 name: 'tyy', 3 age: 20 4 } 5 Object.keys(obj).forEach((key) => { 6 let value = obj[key] 7 Object. 阅读全文
posted @ 2022-03-29 21:02 沁霓 阅读(39) 评论(0) 推荐(0) 编辑
摘要:ES11: 1:BigInt 1 //之前的最大表示的安全数字 2 const max = Number.MAX_SAFE_INTEGER 3 console.log(max); 4 //新增 BigInt 末尾加n 5 const bigInt = 900719925474099100n 6 co 阅读全文
posted @ 2022-03-28 21:23 沁霓 阅读(93) 评论(0) 推荐(0) 编辑
摘要:1:flat 降维 flatMap 1 const arr = [ 2 [1, 2, 3], 3 [20], 4 [ 5 [21, 22], 6 [23, 24] 7 ], 8 [90] 9 ] 10 console.log(arr); 11 // flat的使用 默认降一个维度 12 consol 阅读全文
posted @ 2022-03-28 20:47 沁霓 阅读(37) 评论(0) 推荐(0) 编辑
摘要:1:Object.value获取对象的value值 const obj = { name: 'tyy', age: 18 } console.log(Object.keys(obj)); console.log(Object.values(obj)); 2:Object.entries 获取对应键值 阅读全文
posted @ 2022-03-28 19:07 沁霓 阅读(38) 评论(0) 推荐(0) 编辑
摘要:1:set的一些使用 1 //创建set结构 2 const arr = new Set() 3 arr.add(30) 4 arr.add(40) 5 arr.add(50) 6 //set里面元素不能重复 7 arr.add(30) 8 console.log(arr); 9 //应用场景 数组 阅读全文
posted @ 2022-03-24 20:38 沁霓 阅读(28) 评论(0) 推荐(0) 编辑
摘要:1:函数的默认参数 1 function foo(x = 20, y = 30) { 2 console.log(x, y); 3 } 4 foo(50) 5 foo(undefined, '') //解决了之前的弊端 6 //默认值和解构结合 7 function bar({ name, age 阅读全文
posted @ 2022-03-24 11:50 沁霓 阅读(33) 评论(0) 推荐(0) 编辑
摘要:1:块级作用域 if{}for{}对let/const来说代码体都是块级作用域 块级作用域的应用 举例说明:获取多个按钮监听 2:暂时性死区使用let/const声明的变量,在声明之前变量不可以被访问 例如 在let之前访问age代码会报错 1 var age = 18 2 console.log( 阅读全文
posted @ 2022-03-23 21:11 沁霓 阅读(27) 评论(0) 推荐(0) 编辑
摘要:继承内置类 Array是本身拥有的类 1 class NewArray extends Array { 2 firstItem() { 3 return this[0] 4 } 5 lastItem() { 6 return this[this.length - 1] 7 } 8 } 9 var a 阅读全文
posted @ 2022-03-23 09:39 沁霓 阅读(26) 评论(0) 推荐(0) 编辑
摘要:1:定义类和定义构造函数差不多,并且很多特性也和构造函数一致 1 class Person { 2 name = 'tyy' 3 } 4 var p = new Person 5 console.log(p); 6 console.log(p.__proto__); 7 console.log(p. 阅读全文
posted @ 2022-03-23 08:51 沁霓 阅读(65) 评论(0) 推荐(0) 编辑
摘要:let/const是新增的可以用来声明变量 1:const 的值不能改变,但是如果赋值的是引用类型,就可以通过引用找到对应的对象,然后修改对象的内容 1 const mingzi = 'tyy' 2 // mingzi = 'tsf' 这样程序会报错 3 const obj = { 4 foo: ' 阅读全文
posted @ 2022-03-22 21:26 沁霓 阅读(36) 评论(0) 推荐(0) 编辑
摘要:1 var obj = { 2 name: "heihei", 3 age: 18 4 } 5 var info = Object.create(obj, { 6 address: { 7 value: "成都", 8 enumerable: true 9 } 10 }) 11 12 functio 阅读全文
posted @ 2022-03-20 19:23 沁霓 阅读(34) 评论(0) 推荐(0) 编辑
摘要:关于继承最佳实现就是 寄生组合函数继承 具体看实例 1 function inheritProtoType(subType, superType) { 2 subType.prototype = Object.create(superType.prototype) 3 Object.definePr 阅读全文
posted @ 2022-03-20 14:53 沁霓 阅读(67) 评论(0) 推荐(0) 编辑
摘要:前边继承虽然我们也 var p=new Person() Student.prototype=p 但是这种方式会在new Person()的时候执行Person,会有很多弊端 这里我们采用使用原型式继承函数,来创建类似于之前的p,但是有点是,不用多次去调用函数,直接举例子 1 var obj = { 阅读全文
posted @ 2022-03-20 12:11 沁霓 阅读(42) 评论(0) 推荐(0) 编辑
摘要:假如我们采用这种方式来构造函数对象 1 function Person(name, age, friends) { 2 this.name = name, 3 this.age = age, 4 this.friends = friends 5 this.eating = function() { 阅读全文
posted @ 2022-03-19 17:18 沁霓 阅读(40) 评论(0) 推荐(0) 编辑
摘要:面向对象的三大特性 封装 继承 多态 我们知道获取一个对象的属性,如果对象没有该属性就会到对象的原型上面获取,这里引出原型链的概念,原型上也可以有原型 1 var obj = { 2 name: 'heihei' 3 } 4 obj.__proto__ = { 5 6 } 7 obj.__proto 阅读全文
posted @ 2022-03-19 11:08 沁霓 阅读(67) 评论(0) 推荐(0) 编辑
摘要:undefined--数据类型判断出来是undefined null--数据类型判断出来是object number string boolean object symbol--新增 代表独一无二的值,用来表示对象的唯一属性 bigint 新增 代表任意大小的整数 1 console.log(typ 阅读全文
posted @ 2022-03-18 21:08 沁霓 阅读(31) 评论(0) 推荐(0) 编辑
摘要:对象的原型 1:原型概念:每个对象都有一个[[prototype]],这个属性称之为对象的原型(隐式原型) 浏览器提供__proto__可以看到 2:原型有什么作用 每次查找对象里面的属性时,都会调用[[get]] 第一步先在对象里面查找 第二步对象里面查找不到去原型里面查找 函数的原型(函数也是一 阅读全文
posted @ 2022-03-18 17:04 沁霓 阅读(55) 评论(0) 推荐(0) 编辑
摘要:1:new Object()和字面量方式 此处就不在举例,使用这两个方式会创造大量重复的代码 2:工厂模式 举例说明 1 function Createperson(name, age, address) { 2 var p = new Object() 3 p.name = name 4 p.ag 阅读全文
posted @ 2022-03-18 14:26 沁霓 阅读(81) 评论(0) 推荐(0) 编辑
摘要:JS编程既有函数式编程也有面向对象编程 简单说一下面向对象:抽象现实世界 进入正题 创建对象的方式 1:传统Object()的方式 1 var obj = Object() 2 obj.name = "yaokaixin" 3 obj.mood = "happy" 4 obj.age = 18 5 阅读全文
posted @ 2022-03-18 09:58 沁霓 阅读(36) 评论(0) 推荐(0) 编辑
摘要:CSS的三大特性: 1:层叠性:当有冲突采取就近原则 2:继承性 子承父业 当都有样式时 当去掉son的样式,会发现son继承了parent的样式 3:优先级 不同的选择器都有对应的权重,权重越大,优先级越高,具体说下,先说原则 !important>行内样式>ID选择器>类选择器=伪类选择器=属性 阅读全文
posted @ 2022-03-17 19:16 沁霓 阅读(39) 评论(0) 推荐(0) 编辑
摘要:1:with:简单点来说就是明确了查找域 1 var mood = 'happy' 2 var obj = { 3 name: 'tyy', 4 age: 18 5 } 6 with(obj) { 7 name = 'taosifan' 8 age = 40 9 } 10 console.log(o 阅读全文
posted @ 2022-03-17 18:48 沁霓 阅读(54) 评论(0) 推荐(0) 编辑
摘要:盒模型分为标准盒模型和IE盒模型 盒模型都由content(内容),padding(内边距),boder(边框),margin(外边距)组成 区分标准盒模型和IE盒模型 1:使用方法: 标准盒模型默认或者(box-sizing:content-box)IE盒模型(box-sizing:boder-b 阅读全文
posted @ 2022-03-17 11:08 沁霓 阅读(68) 评论(0) 推荐(0) 编辑
摘要:简单说下纯函数: 广泛的定义: 1:相同的输入有相同的输出 2:函数执行不会产生副作用(例如不会改变全局变量的值,或者改变本地存储的值) 先对比一下slice和splice 1 var names = ['aaa', 'bbb', 'ccc', 'ddd'] 2 var newnames = nam 阅读全文
posted @ 2022-03-16 21:08 沁霓 阅读(59) 评论(0) 推荐(0) 编辑
摘要:一:手写函数实现call的功能,但是可能一些边界情况没有考虑完整 1 Function.prototype.hycall = function(thisArg, ...arg) { 2 // 这里的this指向调用这个hycall的函数 3 var fn = this 4 //判断thisArg是否 阅读全文
posted @ 2022-03-16 20:50 沁霓 阅读(90) 评论(0) 推荐(0) 编辑
摘要:组合函数:当某个数据每次调用完一个函数又需要调另一个函数时,可以把这两个函数组合起来更加方便,组合后可以自动依次调用。 举个简单的例子:普通的组合函数 1 function hyCompose(t1, t2) { 2 return function compose(t3) { 3 return t2 阅读全文
posted @ 2022-03-16 19:21 沁霓 阅读(97) 评论(0) 推荐(0) 编辑
摘要:JS里的函数称为第一公民,JS里面的函数可以用来做什么呢 1:作为一个函数的参数来使用 会输出2 2:作为一个函数的返回值来使用 会输出25 把函数这样写的好处是可以实现不同值的数字加固定的数字,特别注意的是函数作为返回值时不要加(),否则会一直循环return 然后简单说一下JS里面几个关于数组高 阅读全文
posted @ 2022-03-12 17:48 沁霓 阅读(85) 评论(1) 推荐(1) 编辑

点击右上角即可分享
微信分享提示