自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 收藏
  • 关注

原创 node.js模块的加载机制

1. 优先从缓存中加载模块模块在第一次加载后会被缓存,即多次调用require()方法不会导致模块的代码被执行多次。不论是内置模块,用户自定义模块或第三方模块,它们都会优先从缓存中加载,从而提高模块的加载效率。2. 内置模块的加载机制内置模块是由node.js官方提供的模块,内置模块的加载优先级最高。例如,即使在node_modules目录下有同名的第三方模块,require(‘fs’)也始终返回内置的fs模块。3. 自定义模块的加载机制当调用require()方法加载自定义模块时,必须指定以

2021-09-21 10:58:35 429

原创 node.js自定义模块中的module.exports

1.node.js的模块作用域和函数作用域类似,在自定义模块中定义的变量方法等成员,只能在当前模块内访问,这种模块识别的访问机制,叫模块作用域。模块作用域的好处是防止全局变量的污染。但仍有方法向外暴露自定义模块中的成员,以供外界使用。2.向外共享模块作用域中的成员相关的几个概念:modulemodule:每个.js自定义模块中都有一个module对象,存储了和当前模块有关的信息module.exports在自定义模块中,可以使用module.exports对象,把模块中的成员共享出去

2021-09-20 21:39:55 405

原创 es6之Map的第一个元素的获取方法

是从力扣中的LRU缓存机制这道题的题解中看到的,题解中用Map实例记录缓存,其中一种情况是当缓存容量达到上限时,删除最久未使用的数据值,即Map实例的第一个元素。let map=new Map([['key1','value1']])//Map 原生提供三个遍历器://keys():返回键名的遍历器。//values():返回键值的遍历器。//entries():返回所有成员的遍历器。//map获取第一个元素console.log(map.entries().next().value)/

2021-08-31 17:05:11 7271

原创 二分查找基础模板

二分查找使用场景:查找目标具有单调性质;有上下边界,并且最好能够通过index下标访问元素let left = startlet right = endlet midwhile (left <= right) { mid = (left + right) / 2 if (array[mid] === target) { return result 或者 break down } if (array[mid] < target) {

2021-08-26 16:30:04 63

原创 JavaScript实现几种常见的排序排序算法

1.Array类的封装class Array { constructor() { this.array = []; Array.prototype.insert = function (arr) { this.array.push(arr) } Array.prototype.toString = function () { return this.array.join(" ") }

2021-07-18 22:50:55 283 1

原创 JavaScript实现图结构和部分方法以及BFS,DFS的封装

1.先实现一个队列结构用于后面实现广度优先算法class Queue{ constructor(){ this.items=[]; Queue.prototype.enqueue = function (element) { this.items.push(element) } Queue.prototype.dequeue = function () { return this.it

2021-07-17 14:13:21 119

原创 JavaScript实现二叉搜索树结构以及部分方法的封装

class BinarySearchTree { constructor() { // 节点类 class Node { constructor(key) { this.key = key; this.left = null; this.right = null; } } // 二叉搜索树的根

2021-07-14 23:36:19 147 6

原创 JavaScript实现哈希表数据结构以及部分方法的封装

class HashTable { constructor() { // storage为数组,采用拉链法(效率更高),数组中存放另一数组,另一数组中保存的key和value值即是真正的想要存放数据,整个哈希表类似于三维数组的结构 this.storage = []; // count用来表示已经数组中存放了多少数据 this.count = 0; // limit表示哈希表的总长度 this.limit

2021-07-12 17:17:46 99 1

原创 Set数据结构的部分方法的封装(JavaScript)

class Set{ constructor(){ this.items={} }}// 1.has方法检测集合中是否包含该元素Set.prototype.has=function(value) { return this.items.hasOwnProperty(value)}// 2.add添加元素Set.prototype.add=function(value){ if(!this.has(value))return false; t

2021-07-11 23:17:01 72 2

原创 单向链表结构以及其他常用方法的封装(JavaScript)

class LinkedList { constructor() { //内部的类:节点类 class Node { constructor(data) { this.data = data; this.next = null; } } //属性 this.head = null; this.l

2021-07-11 15:59:40 89 2

原创 用队列方式实现击鼓传花(JavaScript)

//先封装一下队列的一些方法function Queue() { this.items = []};Queue.prototype.enqueue = function (element) { this.items.push(element)}Queue.prototype.dequeue = function () { return this.items.shift();}Queue.prototype.size = function () { return

2021-07-10 20:39:32 207 3

原创 移动端touch事件实现拖动元素的效果

html部分是一个div盒子css部分 <style> div { background-color: pink; height: 100px; width: 100px; //这里要加绝对定位或者相对定位 position: relative; } <style>js部分<script>

2021-06-10 17:00:34 587 2

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除