
JS
文章平均质量分 71
精益求精
苏Sue酥
今天的你比昨天更博学了吗
展开
-
手撕Promise
1.Promise特点11.1 创建时必须传入一个函数, 否则会报错1.2 会给传入的函数设置两个回调函数1.3 刚创建的Promise对象状态是pending1.4 状态一旦发生改变就不可再次改变1.5 可以通过then来监听状态的改变1.5.1 如果添加监听时状态已经改变, 立即执行监听的回调1.5.2 如果添加监听时状态还未改变, 那么状态改变时候再执行监听回调1.5.3 同一个Promise对象可以添加多个then监听, 状态改变时所有的监听按照添加顺序执行2.Promi原创 2021-08-23 18:00:47 · 223 阅读 · 0 评论 -
Promise基本概念和基本示例使用
0.引子1.什么是promise?promise是ES6中新增的异步编程解决方案, 在代码中的表现是一个对象2.promise作用企业开发中为了保存异步代码的执行顺序, 那么就会出现回调函数层层嵌套如果回调函数嵌套的层数太多, 就会导致代码的阅读性, 可维护性大大降低promise对象可以将异步操作以同步流程来表示, 避免了回调函数层层嵌套(回调地狱)例如:需求: 从网络上加载3个资源, 要求加载完资源1才能加载资源2, 加载完资源2才能加载资源3,前面任何一个资源加载失败, 后续资源原创 2021-08-23 14:44:07 · 489 阅读 · 0 评论 -
JS数组的相关操作(循环、查找、过滤、排序等)
1. for…in…注意点: 在企业开发中不推荐使用for…in循环来遍历数组 let arr = [1, 3, 5, 7, 9]; for(let key in arr){ // console.log(key); // 数组索引 console.log(arr[key]); }不推荐的原因for…in循环是专门用于遍历对象的, 但是对象的属性是无序的, 所以forin循环就是专门用于遍历无序的东西的, 所以原创 2021-08-13 11:31:36 · 634 阅读 · 0 评论 -
JS面向对象
1.面向对象的基本概念面向对象1.1 面向对象思想面向对象(Object Oriented,OO)是软件开发方法面向对象是一种对现实世界抽象的理解,是计算机编程技术发展到一定阶段后的产物Object Oriented Programming-OOP ——面向对象编程1.2 面向对象和面向过程区别内容强调关注面向过程强调的是功能行为关注的是解决问题需要哪些步骤面向对象将功能封装进对象,强调具备了功能的对象关注的是解决问题需要哪些对象面向对象是基于原创 2021-08-11 16:58:42 · 235 阅读 · 0 评论 -
JS--对象的特性之一---继承性
继承性js中继承目的: 把子类型中共同的属性和方法提取到父类型中较少代码的冗余度, 提升代码的复用性实现继承的方法1.借用原型链实现继承直接将子类的原型对象修改为父类对象, 这样就能使用原型链上的属性和方法 function Person() { this.name = null; this.age = 0; this.say = function () { console.log(转载 2021-08-11 15:19:08 · 191 阅读 · 0 评论 -
JavaScript-bind-call-apply改变this指向
1.this是什么?谁调用当前函数或者方法, this就是谁2.这三个方法的作用是什么?这三个方法都是用于修改函数或者方法中的this的2.1.bind方法作用修改函数或者方法中的this为指定的对象, 并且会返回一个修改之后的新函数注意点: bind方法除了可以修改this以外, 还可以传递参数, 只不过参数必须写在this对象的后面 function test(a, b) { console.log(a, b); consol原创 2021-08-11 11:12:08 · 162 阅读 · 0 评论 -
prototype的相关注意点
1.prototype特点1.1存储在prototype中的方法可以被对应构造函数创建出来的所有对象共享1.2prototype中除了可以存储方法以外, 还可以存储属性1.3prototype如果出现了和构造函数中同名的属性或者方法, 对象在访问的时候, 访问到的是构造函数中的数据 function Person(myName, myAge) { this.name = myName; this.age = myAge;原创 2021-08-11 09:04:35 · 324 阅读 · 0 评论 -
JS中prototype、__proto__以及原型链
1.对象的三角恋1.1 概念1.每个"构造函数"中都有一个默认的属性, 叫做 prototypeprototype 属性保存着一个对象, 这个对象我们称之为"原型对象"2.每个"原型对象"中都有一个默认的属性, 叫做 constructorconstructor 指向当前原型对象对应的那个"构造函数"3.通过构造函数创建出来的对象我们称之为"实例对象"每个"实例对象"中都有一个默认的属性, 叫做protoproto指向创建它的那个构造函数的"原型对象"2.JS的Function函数原创 2021-08-10 17:09:26 · 272 阅读 · 0 评论 -
JavaScript-数组
1.数组的解构赋值1.1 什么是数组的解构赋值解构赋值是ES6中新增的一种赋值的方式1.2 数组解构赋值的注意点1.2.1 在数组的解构赋值中, 等号左边的格式必须和等号右边的格式一模一样, 才能完全解构let [a, b, c] = [1, 3, 5]// a = 1, b = 3, c = 51.2.2 在数组的解构赋值中, 左边的个数可以和右边的个数不一样let [a, b] = [1, 3, 5]// a = 1, b = 3let [a, b] = [1]// a =原创 2021-08-09 17:02:21 · 147 阅读 · 0 评论 -
JavaScript基础
1. JavaScript基础-基本概念1.1 什么是JavaScript?JavaScript简称JS,是前端开发的一门脚本语言(解释型语言)解释型语言:程序执行之前,不需要对代码进行编译,在运行时边解析边执行的语言浏览器中有一个解析器,它可以对写好的代码进行解析,解析好了可以直接执行浏览器工作原理2.JavaScript发展史JavaScript起源于Netscape(网景)公司的LiveScript,为了赶时髦,后面更改为JavaScript时间发生的事情原创 2021-08-09 14:49:17 · 269 阅读 · 0 评论 -
函数防抖debounce和节流throttle
debounce 函数防抖1.什么是函数防抖函数防抖是优化高频率执行 js 代码的一种手段可以让被调用的函数在一次连续的高频率操作过程中只被调用一次2.函数防抖的作用减少代码执行次数,提升网页性能3.函数防抖的应用场景oninputonmousemoveonscrollonresize等等4.搜索框中的函数防抖应用输入框中每输入一次内容调一次接口,当连续频繁的触发,影响性能,防抖的作用:在连续触发的短时间内只触发一次<form action="">原创 2021-05-09 11:39:55 · 214 阅读 · 0 评论 -
padStart时间不足两位时,自动补0
var time = Date.now(); var date = new Date(time); let year = date.getFullYear(); let month = date.getMonth() + 1 + ""; let day = date.getDate() + ""; let hour = date.getHours() + ""; let minute = date.getMinutes() + "...原创 2021-05-07 23:32:43 · 297 阅读 · 0 评论 -
js闭包
js闭包闭包是什么?生成的条件、特点?闭包的作用?闭包的定义闭包就是能够读取其他函数内部变量的函数。由于在Javascript语言中,只有函数内部的子函数才能读取局部变量,因此可以把闭包简单理解成"定义在一个函数内部的函数"。所以,在本质上,闭包就是将函数内部和函数外部连接起来的一座桥梁。2.闭包生成的三个必要条件(1)在函数A内部直接或间接返回一个函数B(2)B函数内部使用着A函数...原创 2020-02-22 22:08:07 · 309 阅读 · 0 评论