自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 使用node中的net模块简单实现网络编程中的消息群发

一.服务端(server)const net = require('net');const server = net.createServer();const clients = []server.on('connection', clientSocket => { // 将当前连接的客户端通信接口存储到数据中 clients.push(clientSocket); clientSocket.on('data', data => { con

2020-07-17 23:59:37 1030

原创 vue项目中使用require.context()进行组件的循环注册

require.context()方法作用:创建当前模块的上下文用法:require.context(directory, flag, regExp)directory: 要导入的当前模块的文件夹目录flag: 是否搜索当前路径的子目录regExp: 要匹配的文件require.context()方法导出模块为一个函数,该函数有三个属性:resolve, keys, id1.resolve() :它返回请求被解析后得到的模块 id2.keys(): 返回当前所有搜索到的文件的数组3

2020-07-14 21:31:44 879

原创 解决webpack配置中区分环境配置文件中的插件webpack-merge报错问题

TypeError: merge is not a functionconst merge = require('webpack-merge');const baseConfig = require('./webpack.base.js');module.exports = merge(baseConfig, { mode: 'development', devServer: { open: true, hot: true, compre

2020-07-08 22:00:03 4476

原创 配置webpack打包多页面应用

配置分为三步配置多入口多入口无法对应一个固定的出口,所以修改filename为[name]变量如果使用了html插件,需要手动配置多入口对应的html文件,将指定其对应的输出文件。entry: { main: './src/main.js', other: './src/other.js' }, output: { path: path.resolve(__dirname, './dist'), filename:

2020-07-06 21:57:43 356 4

原创 解决在配置copy-webpack-plugin插件时报错

配置如下:new CopyWebpackPlugin({ from: path.resolve(__dirname, './src/assets'), to: 'assets' })报错信息ValidationError: Invalid options object. Copy Plugin has been initialized using an options object that does not match the API

2020-07-05 22:35:14 5010

原创 定义一个常量,在对象中引用这个常量时报错,解决办法

问题背景定义了一个常量,然后在一个对象中的属性名中引用该常量中的某个键,然后控制台报错。如下const {log} = console;const STATUS = { OK: 1, ERROR: 2}const handle = { STATUS.OK: () => {log("it's ok")}, STATUS.ERROR: () => {log("it's error")}}let status = 0;handle[status]();

2020-06-30 22:32:49 591

原创 浅谈原生js中的自定义事件

先介绍三个Dom方法createEvent(eventType)作用:用于创建事件eventType: HTMLEvents || MouseEvents || UIEvents (想获取的 Event 对象的事件模块名。)返回值: 新创建的 Event 对象,具有指定的类型。event.initEvent(eventType,canBubble,cancelable)作用:用于初始化事件eventType: 字符串值。事件的类型。canBubble: 事件是否起泡cancelab

2020-06-23 22:59:18 579

原创 用JS实现队列

队列的定义队列与栈一样,都是一种操作受限的线性表。但是与栈不同,队列是仅允许在表的一端进行插入,在表的另一端进行删除。我们把进行插入的一端称为队尾(Rear),把进行删除元素的一端称为对头(Front)。向队列中插入新元素称为进队,新元素进队后就成为新的队尾元素;从队列中删除元素称为出队,元素出队后,其后继元素就成为新的对头元素。特点:先进先出(FIFO)队列的存储结构class SqQueue { constructor() { this.data = [];

2020-06-23 21:59:19 210

原创 用JS实现栈操作

栈的定义栈是一种只能在一端进行插入或删除操作的线性表。其中允许进行插入或删除操作的一端称为栈顶(Top)。表的另一端称为栈底,栈底是固定不变的。栈的插入和删除操作一般称为入栈和出栈。特点:先进后出(FILO)。栈的结构顺序栈const OK = true;const ERROR = false;const {log} = console;class Stack { constructor() { this.data = []; this.top

2020-06-23 00:02:12 648

原创 数据结构与算法(js描述)-- 单链表

单链表什么是单链表?单链表是线性表中的链式存储结构,顾名思义,就是在内存中申请一小块地址空间的结点,该结点存放数据和指针,然后通过指针将这些结点连接成一条链,我们称之为单链表。优点:便于插入和删除,插入和删除的时间复杂度均为O(1)缺点:不便于查找,查找时只能遍历单链表,不能随机存取,而且由于存储指针导致内存密度<1结点结构// 定义node结点class LNode { constructor(data) { this.data = data;

2020-06-19 00:46:38 266

原创 js设计模式之订阅发布模式

订阅发布模式1.什么是订阅发布模式?订阅发布模式定义了对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所依赖于他的对象都会被通知,并进行相应处理。通俗地讲,比如说我们在抖音上关注了A,那么当A发布动态短视频的时候,系统就会为我们推送A的动态。A就是publisher,我们就是subcriber,系统就是evenBus,发布者发布动态后,系统就会进行过滤,然后相应地推送给相关订阅者。2.实现结构订阅者(Subscriber)把自己想订阅的事件注册(Subscribe)到调度中心(even

2020-06-18 00:44:35 184

原创 浅谈js中的浅拷贝与深拷贝

浅拷贝浅拷贝是指只拷贝第一层的数据,如果有深层嵌套,那么只拷贝其深层的引用。缺点:拷贝之后的复杂数据类型(如object等),如果改变其深层属性那么其原始对象的深层结构的属性值也会一并改变。const {log} = console;const shallowCopy = function (obj) { if (typeof obj === 'undefined') return; if (typeof obj === 'string' || typeof obj === 'n

2020-06-17 22:21:55 182

原创 数据结构与算法(JavaScript描述) -- 线性表(一)

线性表的顺序存储结构与实现一、定义常量const ERROR = false;const OK = true;二、定义顺序表结构class sqList { constructor() { this.Elem = []; // 存储数组 this.length = 0; // 当前长度 }}三、定义顺序表的操作方法class sq...

2020-02-13 23:05:17 134

原创 基于webpack构建React项目

基于webpack构建React项目一、新建一个webpack_react的文件夹,然后用编辑器打开,并在终端窗口输入命令npm init -y快速初始化项目。二、在项目根目录下创建src源代码目录和dist产品目录。在src根目录下建立index.html和index.js在src根目录下建立components、css、js、img文件夹三、安装并配置webpack在终端中运...

2020-01-17 01:04:58 157

原创 使用node环境实现在线编程时的单/多行输入

一、基于node环境实现编程时的单行输入const readline = require('readline');const r1 = readline.createInterface({ input:process.stdin, output:process.stdout})//单行输入r1.on('line',line =>{ let arr = lin...

2019-09-08 16:59:54 359

原创 基于echarts.js实现简单的饼状图的绘制

使用echarts进行数据可视化展示(饼状图)一、echarts的配置使用npm命令进行安装echarts(方法一)npm initnpm install echarts --save引入echarts.min.js的文件<script src="./node_modules/echarts/dist/echarts.min.js"></script>...

2019-09-08 16:10:43 3581 1

原创 用JavaScript实现简单的计算器

基于JavaScript实现计算器中的加减乘除等基本功能

2019-05-30 22:44:14 7749

原创 利用牛顿迭代法实现对一个整数开平方根(javascript实现)

牛顿迭代法的简介牛顿迭代法(Newton’s method)又称为牛顿-拉夫逊(拉弗森)方法(Newton-Raphson method),它是牛顿在17世纪提出的一种在实数域和复数域上近似求解方程的方法。牛顿迭代公式的推导设 rrr是 f(x)=0f(x)=0f(x)=0 的根,选取 x0x_0x0​作为 xxx的初始近似值,过点(x0,f(x0))(x_0,f(x_...

2019-05-29 20:16:01 1723

空空如也

空空如也

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

TA关注的人

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