
javascript
飞鱼Code
这个作者很懒,什么都没留下…
展开
-
Thanks for inventing JavaScript!!!
原创 2021-08-31 10:50:06 · 268 阅读 · 0 评论 -
webpack自定义loader
自定义loaderLoader是用于对模块的源码进行转换处理的loader本质上是一个导出为函数的JavaScript模块loader runner库调用这个函数,然后将上一个laoder产生的结果或者资源文件传入进去;所有的内容在经历过loader之后都必须转化为javascript字符串content : 读取到的相关模块文件Mate: 即一些 元素参数需要传入的/* selfloader.js >> */// 这个了loader被称之为normalloa原创 2021-08-26 18:46:01 · 1039 阅读 · 0 评论 -
webpack自定义plugin
自定义pluginTable与webpackwebpack中有Compile和Compilation,他们通过插件注入的方式监听webpack的生命周期Table这个库存在着各种个样的Hook实例,这个hook就可以帮助我们监听webpack生命周期同步const {SyncHook, SyncBailHook, SyncLoopHook, SyncWaterfallHook} = require("tapable");class test { constructor(){原创 2021-08-26 18:41:50 · 936 阅读 · 0 评论 -
js乱序之洗牌
// 从数组的最后位置开始,从前面随机一个位置,对两个数进行交换,直到循环完毕 function shuffleSort(arr) { let i = arr.length - 1 while(i>0) { let rIndex = Math.floor(Math.random()*i) let temp = arr[rIndex] arr[rIndex] = arr[i] arr[i] = temp原创 2021-03-15 16:59:13 · 845 阅读 · 0 评论 -
ES5/ES6 的继承除了写法以外还有什么区别?
ES5 的继承实质上是先创建子类的实例对象,然后再将父类的方法添加 到 this 上(Parent.apply(this)).ES6 的继承机制完全不同,实质上是先创建父类的实例对象 this(所以必 须先调用父类的super()方法),然后再用子类的构造函数修改 this。ES5 的继承时通过原型或构造函数机制来实现。ES6 通过 class 关键字定义类,里面有构造方法,类之间通过 extends 关 键字实现继承。子类必须在 constructor 方法中调用 super 方法,否则新建实.原创 2021-03-11 17:17:40 · 1247 阅读 · 0 评论 -
深度优先遍历和广度优先遍历
两者的区别对于算法来说 无非就是时间换空间 空间换时间深度优先不需要记住所有的节点, 所以占用空间小, 而广度优先需要先记录所有的节点占用空间大深度优先有回溯的操作(没有路走了需要回头)所以相对而言时间会长一点深度优先采用的是堆栈的形式, 即先进后出广度优先则采用的是队列的形式, 即先进先出const data = [ { name: 'a', children: [ { name: 'b', children: [{ name:原创 2021-03-11 16:59:50 · 926 阅读 · 0 评论 -
组件的生命周期
组件的生命周期每个组件都包含“生命周期方法”,你可以重写这些方法,以便于在运行过程中特定的阶段执行这些方法。你可以使用此生命周期图谱作为速查表。在下述列表中,常用的生命周期方法会被加粗。其余生命周期函数的使用则相对罕见。挂载当组件实例被创建并插入 DOM 中时,其生命周期调用顺序如下:constructor()static getDerivedStateFromProps()render()componentDidMount()注意:下述生命周期方法即将过时,在新代码中应该避免使用它们:原创 2021-02-26 11:53:08 · 940 阅读 · 0 评论 -
js创建对象的几种方式
js常用的几种创建对象的方式有:{}new Object()使用字面量工厂模式构造函数模式(constructor)原型模式(prototype)构造函数+原型模式还有一些不常用的方式,如动态原型,寄生构造函数,稳妥构造函数。一、通过{}创建对象demo1: 01.newObj-1.html <script> 'use strict'; //使用strict模式 /** 使用{}创建对象,等同于 new Object();转载 2021-02-25 13:06:43 · 6104 阅读 · 0 评论 -
协商缓存与强缓存简单介绍
协商缓存与强缓存缓存的优点:减少了不必要的数据传输,节省带宽减少服务器的负担,提升网站性能加快了客户端加载网页的速度用户体验友好缺点可能会留下bug强缓存当浏览器去请求某个文件的时候,服务端就在respone header里面对该文件做了缓存配置。缓存的时间、缓存类型都由服务端控制respone header 的cache-control,常见的设置是max-age public private no-cache no-store等强缓存主要包括 expires转载 2020-11-28 16:38:16 · 1020 阅读 · 0 评论