前端开发
文章平均质量分 57
仿生人会梦到敲代码么
A Photographer, A Programmer!
展开
-
JS 异步方法及解决的问题
最近的一个区块链项目面试中被问到了 js 异步都有哪些,分别解决了什么问题。就知道一个 promise 解决回调地狱的我可谓是当场懵逼了,好家伙这也没背过啊,在此记录一下。一、异步都有哪些方法回调函数、事件监听、定时器PromiseWeb Workderasync/await二、解决了什么问题回调函数、事件监听、定时器执行一些需要等待的任务且不影响同步任务的进行。Promise解决了复杂业务场景中回调函数累加之后产生的回调地狱等问题。Web Workder由于 js 是单线程的,原创 2022-04-28 02:54:34 · 4258 阅读 · 0 评论 -
日期格式 yyyy 与 YYYY
这是一个不易发现的bug,当使用日期组件时,如果使用YYYY则会使得某些情况下本年度12月的最后几天显示为下一年。如果格里历年的第一天是星期五、星期六和星期日,或是星期六和星期日,或正好就是星期日是格里历年的第一天(在ISO年是去年的最后一天);又或者是星期一、星期二和星期三,或者是星期一和星期二,或正好就是星期一在格里历年的最后一天(是下一个ISO年的第一个星期),ISO周数年的年份会偏离格里历的年份。从1月4日至12月28日,ISO周数年和所有星期4的周数都会与格里历相同。yyyyYY原创 2022-04-24 19:19:33 · 879 阅读 · 0 评论 -
http 状态码大全
带有 * 为常见状态码100~199 信息性状态码状态码说明100接收并继续101接收切换协议并继续200~299 成功状态码状态码说明200*请求成功201*成功创建202已接受203无法验证资源元信息204无内容205重置所有表单元素206部分内容300~399 重定向状态码状态码说明300多版本可用301永久重定向302*临时重定向303原创 2022-04-15 01:57:20 · 107 阅读 · 0 评论 -
Vue 3 生命周期
Vue 3 生命周期一览选项式 APIHook inside setupbeforeCreateNot needed*createdNot needed*beforeMountonBeforeMountmountedonMountedbeforeUpdateonBeforeUpdateupdatedonUpdatedbeforeUnmountonBeforeUnmountunmountedonUnmountederrorC原创 2022-04-15 01:44:03 · 241 阅读 · 0 评论 -
理解 Vue3 使用的 Proxy
在 vue3 中放弃了 Object.defineProperty 来进行数据劫持,而改用了 Proxy 替代原本的方案。Object.defineProperty 的缺陷在于需要深度遍历并对每一个属性进行劫持,而对于没有属性的数组而言,数组的索引也可以视为被劫持的属性,但是和对象相同,对于新增的元素而言,不会触发监听事件,vue 对此的解决方案是劫持数组原型链上的函数,即便如此也仍旧无法监听对数组长度的修改。而使用 Proxy 进行劫持则弥补了这些缺陷,阮一峰的《ECMAScript6 入门》中对于原创 2022-04-15 01:43:10 · 9208 阅读 · 0 评论 -
理解闭包概念
维基百科的闭包(计算机科学)这一词条对闭包的解释:闭包在实现上是一个结构体,它存储了一个函数(通常是其入口地址)和一个关联的环境(相当于一个符号查找表)。环境里是若干对符号和值的对应关系,它既要包括约束变量(该函数内部绑定的符号),也要包括自由变量(在函数外部定义但在函数内被引用),有些函数也可能没有自由变量。闭包跟函数最大的不同在于,当捕捉闭包的时候,它的自由变量会在捕捉时被确定,这样即便脱离了捕捉时的上下文,它也能照常运行。稍微有些晦涩难懂,重点在于当捕捉闭包的时候,它的自由变量会在捕捉时候被确原创 2022-04-15 01:41:50 · 163 阅读 · 0 评论 -
深拷贝与浅拷贝
一、浅拷贝与深拷贝的区别赋值:赋值后数据改变会影响原有数据浅拷贝:拷贝后数据改变原有数据中的基础数据类型不变,若包含引用数据类型,则引用数据类型的值会一起改变深拷贝:拷贝后的数据完全独立,不影响原有数据二、实现浅拷贝2.1、使用 Object.assign() 实现浅拷贝先看MDN关于此方法的相关描述:用于将所有可枚举属性的值从一个或多个源对象分配到目标对象。假如源值是一个对象的引用,它仅仅会复制其引用值。直接上代码实际感受一下 Object.assign() 如何使用。// 首原创 2022-04-15 01:36:00 · 465 阅读 · 0 评论 -
js数组实现分类统计
将水果数组中同类的水果合并为一条并求出总数var fruits = [{ name: 'apple', value: 1}, { name: 'apple', value: 2}, // 总计3个苹果{ name: 'banana', value: 2}, { name: 'banana', value: 3}]; // 总计5个香蕉var fruitTota...原创 2018-10-31 10:14:33 · 7873 阅读 · 0 评论 -
js生成二维码——QRCode.js中文文档
QRCode v1.2.2原文地址API文档一、安装项目文件夹中执行npm install --save qrcode或者,全局安装npm install -g qrcode二、使用在javascript中使用Module bundlers<!-- index.html --><html> <body> <ca...原创 2018-10-31 10:13:18 · 24049 阅读 · 0 评论