06 2021 档案
摘要:环境搭建 因为装饰器属于一个在提案中的语法,所以不管是node还是浏览器,现在都没有直接支持这个语法,我们要想使用该语法,就必须要通过babel将它进行一个编译转换,所以我们需要搭建一个babel编译环境。 1、安装babel相关包 npm i @babel/cli @babel/core @bab
阅读全文
posted @ 2021-06-26 12:28
陌路y
摘要:写在前面 函数防抖和函数节流都是对函数进行特殊的设置,减少该函数在某一时间段内频繁触发带来的副作用。二者只是采用的设置方式和原理不一样,其最终的目的是一样的。 函数防抖和函数节流都是定义一个函数,该函数接收一个函数作为参数,并返回一个添加了防抖或节流功能后的函数。 因此可以将函数防抖和函数节流看作是
阅读全文
posted @ 2021-06-26 12:26
陌路y
摘要:一、Broadcast Channel API 简介 Broadcast Channel API 可以实现同源下浏览器不同窗口、Tab 页或者 iframe 下的浏览器上下文之间的简单通讯。通过创建一个监听某个频道下的 BroadcastChannel 对象,你可以接收发送给该频道的所有消息。 了解
阅读全文
posted @ 2021-06-26 12:25
陌路y
摘要:1.什么是伪数组 JavaScript中存在有一种类数组,或者说伪数组。经常见到的伪数组有函数的arguments对象、dom.querySelectorAll等获取的NodeList类(NodeList本身具有forEach方法)等。 伪数组并不是数组,它没有继承Array.prototype,但
阅读全文
posted @ 2021-06-26 11:05
陌路y
摘要:一、ZIP 格式简介 ZIP 文件格式是一种数据压缩和文档储存的文件格式,原名 Deflate,发明者为菲尔·卡茨(Phil Katz),他于 1989 年 1 月公布了该格式的资料。ZIP 通常使用后缀名 “.zip”,它的 MIME 格式为 “application/zip”。目前,ZIP 格式
阅读全文
posted @ 2021-06-26 11:04
陌路y
摘要:今天分享的内容是基于GPU.js来提升性能。 正文 用 GPU.js 使你的应用程序快 10 倍。 作为开发者,我们总是寻找机会来提高应用程序的性能。当涉及到网络应用时,我们主要在代码中进行这些改进。 但是,你有没有想过将 GPU 的力量结合到你的网络应用中来提高性能? 本文将向你介绍一个名为 GP
阅读全文
posted @ 2021-06-26 11:03
陌路y
摘要:为什么WebGL会比较厉害 我们来看看javascript API绘制和webGL绘制原理上的不同之处: 如果使用javascript对画布的逐个像素进行处理,那这部分处理工作就需要在javascript的运行环境里进行,我们知道javascript的执行是单线程的,所以只能逐个逐个像素进行计算和绘
阅读全文
posted @ 2021-06-26 11:01
陌路y
摘要:ES6 的 Class 是如何实现的 先从最简单的一个 Parent 类看起: class Parent{ constructor(){ this.a = 1 this.getA = function(){} } } 转译之后的结果是: function _classCallCheck(instan
阅读全文
posted @ 2021-06-26 09:56
陌路y
摘要:分析Promise Promise对象用于表示一个异步操作的最终完成 (或失败)及其结果值,常用来实现异步操作。 Promise状态 Promise有三种状态: pending 初始状态fulfilled 执行成功后的状态rejected 执行失败后的状态 Promise状态只能由pending改变
阅读全文
posted @ 2021-06-26 09:54
陌路y
摘要:加载js || css || style const loadRes = function(name, type, fn) { // 加载js || css || style let ref if (type 'js') { // 外部js ref = document.createElement(
阅读全文
posted @ 2021-06-26 09:50
陌路y
摘要:大前端领域的Middleware 这里说的大前端领域自然就包括了服务器端和客户端了。最早提出 Middleware 概念的是Express, 随后由原班人马打造的Koa不但沿用了 Middleware 的架构设计,还更加彻底的把自己定义为中间件框架。 Expressive HTTP middlewa
阅读全文
posted @ 2021-06-26 09:48
陌路y
摘要:前言 早期的 Web 应用中,与后台进行交互时,需要进行 form 表单的提交,然后在页面刷新后给用户反馈结果。在页面刷新过程中,后台会重新返回一段 html 代码,这段 html 中的大部分内容与之前页面基本相同,这势必造成了流量的浪费,而且一来一回也延长了页面的响应时间,总是会让人觉得 Web
阅读全文
posted @ 2021-06-26 09:46
陌路y
摘要:常规方案 使用 FileReader 以utf-8格式读取文件,根据文件内容是否包含乱码字符 � ,来判断文件是否为utf-8。 如果存在 �,即文件编码非utf-8,反之为utf-8。 代码如下: const isUtf8 = async (file: File) => { return awai
阅读全文
posted @ 2021-06-26 09:45
陌路y
摘要:1.html标签内联事件 实例1:单击页面 "Hello" 按钮,弹出提示框显示 Hello world! <!doctype html> <html> <head> <meta charset="utf-8"> <title>无标题文档</title> </head> <body> <button
阅读全文
posted @ 2021-06-26 09:42
陌路y
摘要:方案 1 最初实现的方案是直接使用媒体查询和 css 变量。关键是把区分两个模式的变量抽离出来,分别配置两组变量,核心代码如下: @media screen and (prefers-color-scheme: dark) { :root { --linkColor: #ec9bab; --font
阅读全文
posted @ 2021-06-25 23:53
陌路y
摘要:众所周知css技术我们虽然很熟悉,在使用的过程却很容易被困住,这让我们在新问题出现的时候变得很不利。随着web继续不断地发展,对于新技术新解决方案的要求也会不断增长。因此,作为网页设计师和前端开发人员,我们别无选择,必须熟悉我们手上的工具,做到知己知彼,这样才能百战不殆。 这就意味着有那么些个特别的
阅读全文
posted @ 2021-06-25 23:52
陌路y
摘要:先介绍一下一个有趣的属性 —— conic-gradient 圆锥渐变! 对其感兴趣是因为我发现它竟然可以用来做圆饼图!比如这样的:这样的:其原理也很简单:就是以起始点为中心,然后以顺时针方向绕中心实现渐变效果。其必须接收多种颜色值参数,每个颜色值后可以跟两个百分比,为当前颜色值的起始点和终止点(中
阅读全文
posted @ 2021-06-25 23:50
陌路y
摘要:css3 的 calc() 函数允许我们在属性值中执行数学计算操作。例如,我们可以使用 calc() 指定一个元素宽的固定像素值为多个数值的和。 .foo { width: calc(100px + 50px); } 为什么是 calc() 如果你使用过 css 预处理器,比如 SASS,以上示例你
阅读全文
posted @ 2021-06-25 23:49
陌路y
摘要:简介 我们知道可以使用document对象的内置方法通过ID,类,标签名和查询选择器来访问html元素。 DOM 是由节点树构成的,document节点位于根,其他每个节点(包括元素,注释和文本节点)都作为各个分支的节点。 在本教程中,我们回顾一些html术语,这对使用 js 和DOM非常重要,我们
阅读全文
posted @ 2021-06-25 21:30
陌路y
摘要:AVIF 介绍 当然,目前最值得关注的新型图片格式是 AVIF(AV1 Image File Format,AV1图像文件格式,是业界最新的开源视频编码格式AV1的关键帧衍生而来的一种新的图像格式。AVIF 来自于 Netflix(著名的流媒体影视公司), 在 2020 年情人节公布。 当遇到新的技
阅读全文
posted @ 2021-06-25 21:29
陌路y
摘要:1. URL 统一资源定位符 ( Uniform Resource Locator)是对可以从互联网上得到的资源的位置和访问方法的一种简洁表示,是互联网上标准资源的地址; 互联网上的每个文件都有一个唯一的 URL ,它包含的信息指出文件的位置以及浏览器应该怎么处理它 结构 基本的 URL 包含 模式
阅读全文
posted @ 2021-06-25 21:28
陌路y
摘要:什么是Proxy代理? // pOjb就是通过new Proxy创建的代理对象 var pObj = new Proxy(obj, handlers) 为什么需要代理对象 举个记账的例子: // obj代表我们,wallet属性指我们钱包,现在我们钱包里有100元 // consume指消费次数,每
阅读全文
posted @ 2021-06-24 18:52
陌路y
摘要:JavaScript 具有垃圾自动回收机制(Garbage Collection)简称 GC。垃圾回收机制会中断整个代码执行,释放不可能再被使用的变量,释放内存,这个工作机制是周期性的,我们会在下文详细探讨。 可释放对象 function fn1() { var obj1 = { name: 'xi
阅读全文
posted @ 2021-06-24 18:51
陌路y
摘要:前言 在产品快速迭代的中,由于追求开发速度,我们往往忽略代码的可读性与扩展性,不合理的使用if-else条件判断会使我们的程序复杂度大大提升,同时也会使代码的可读性急速下降,后期维护难度也大大提高,真的让人脑壳疼。比如下方示例: // 贷款申请操作的处理 function check() { //
阅读全文
posted @ 2021-06-24 18:48
陌路y
摘要:1.声明和初始化数组 我们可以使用特定的大小来初始化数组,也可以通过指定值来初始化数组内容,大家可能用的是一组数组,其实二维数组也可以这样做,如下所示: const array = Array(5).fill(''); // 输出 (5) ["", "", "", "", ""] const mat
阅读全文
posted @ 2021-06-24 18:46
陌路y
摘要:一、基本声明方式 1、方式一 let s1 = Symbol() let s2 = Symbol() console.log(s1) // Symbol{} console.log(s2) // Symbol{} console.log(s1 s2) // false 说明每一个Symbol用这种方
阅读全文
posted @ 2021-06-24 18:44
陌路y
浙公网安备 33010602011771号