JS
前端骚白
在前端的道路上自由奔波
展开
-
个人开发的Ui框架 Em-ui
参考了element和antd 结合它两的优点有兴趣的小伙伴可以点点星星谢谢了码云地址:https://gitee.com/mengjunl/em-ui原创 2021-12-12 21:30:19 · 843 阅读 · 0 评论 -
外观模式(设计模式)
外观模式: 核心思想找一个中间人去帮你完成一系列事情比如买车 你需要找销售,签合同,选择车型,你闲太麻烦了,这时候找一个中间人帮你去完成function sale () { return '我是销售'}function contract () { return '我是合同'}function model () { return '我是车型'}function intermediator () { return { a1: sale() a2: sale() a3原创 2021-11-09 14:34:56 · 149 阅读 · 0 评论 -
单例模式(设计模式)
很多博客说单例模式每次实例化或者调用都是指向同一个内存地址(函数)1.那单例模式 在项目中又有何作用呢?1.缓存作用(单例又分 懒汉单例或者饿汉单例)下面是我在项目的实际使用, 缓存token与自动续约tokenvar Singleton = function (token) { this.token = token; this.instance = null this.timeTolen = null};Singleton.prototype.getToken = fu原创 2021-11-09 11:04:54 · 130 阅读 · 0 评论 -
Fisher-Yates 随机算法
let array = [1, 2, 3, 4, 5]function shuffle(array) { for(let i = array.length -1; i > 0; i--) { let rowIndex = Math.floor(Math.random() * (i + 1)); swap(array, i, rowIndex); } } function swap(array, i, r原创 2021-06-04 10:32:03 · 129 阅读 · 0 评论 -
JS搜索算法(二分与插值)
JavaScript 二分搜索与插值搜索法基本流程1.排序2.(插值搜索)计算出里待搜索值相近的值(插值搜索)2.(二分搜索)找出数组中,中间位置的值3. 截取数组(递归或者循环)4. 找值 找到了 返回 对应的值5. 未找到值返回null下面就是算法// 1. 我才用的是快速排序算法,你也可以用其他的,这个无所谓et string = [0, 16, 18, 16, 45, 55, 15, 17, 16] let l = 0 let r = string.length原创 2021-06-04 09:34:15 · 233 阅读 · 2 评论 -
柯里化函数
柯里化函数Currying是把接受多个参数的函数变换成接受一个单一参数(最初函数的第一个参数)的函数,并且返回接受余下的参数而且返回结果的新函数的技术(属于闭包一个分支吧)// 普通函数function fn(a, b) { return a + b}// 柯里化function currying(a) { return function (b) { return a + b }}fn(1, 1) // 2currying(1)(2) // 3// 下原创 2021-05-07 08:13:03 · 86 阅读 · 0 评论 -
解决URL参数过长,不清晰
class Parsing { constructor(url) { this.url = url this.parameter = [] } // 添加参数 append(...args) { if(args.length <= 1) { for (let iterator in args[0]) {原创 2021-04-26 14:10:04 · 1641 阅读 · 0 评论 -
子树找父亲,常用于 element 层级 下拉多选回显
// treeArr 需要查找得树// value 查找的idfunction getCascadeIdArr(treeArr,value){ let arr = [] for(let treeData of treeArr){ if(getCascadeValue(treeData,value,arr)){ arr.unshift(treeData.id) return arr }else if(tree.原创 2021-01-22 16:39:10 · 161 阅读 · 0 评论 -
git 拉取多分支代码
git initgit remote add origin git@github.com:XXXX/xxxxxx.git (远程的地址)git fetch origin zhou (远程分支的名称)git checkout zhou----------------------------------------------------多分支也是一样的,再次执行git fetch origin test(远程分支的名称)git checkout test(远程分支的名称)...原创 2020-12-29 13:27:38 · 1983 阅读 · 0 评论 -
React实现动态修改页面样式
此项目有两个文件 tsx文件与css文件1.test.tsx 文件import React from 'react';import './test.css'import ReactDOM from "react-dom";// 标记唯一性let NameData:any = null/* 标题 */// 编辑栏class ModifyData extends React.Component<any, any> { constructor(props: any)原创 2020-11-11 16:51:39 · 1902 阅读 · 0 评论 -
导出excel
import axios from 'axios'function Excels(data, filename) { const link = document.createElement('a') let blob = new Blob([data], {type: 'application/vnd.ms-excel;charset=utf-8'}) let objectUrl = URL.createObjectURL(blob) link.href = objectUrl l原创 2020-10-28 16:46:19 · 845 阅读 · 0 评论 -
Vue封装弹窗
1.创建 EXDialog.vue 文件<template> <transition name="fade"> <div :style="style" class="ex-dialog__wrapper" v-show="visible"> <div> <div> <div class="ex-height-info"><span>{{ title }}</原创 2020-10-28 11:39:49 · 348 阅读 · 0 评论 -
element 动态表头背景色
给表头添加一个 :header-cell-style="getRowClass" // getRowClass 方法名<el-table :data="dataTable" :header-cell-style="getRowClass" border style="width: 100%"> <el-table-column align="center" v-for="(item, index) in datalistsss" :label="item.topName"原创 2020-08-31 11:26:16 · 696 阅读 · 0 评论 -
Vue组件懒加载
方案一(同步)使用 constconst login = ()=>import("./login");方案二(异步)components:{ "login":resolve=>(['./login'],resolve)},注意:1 两个异步加载的页面中分别同步与异步加载同一个组件时会造成资源重用2 在异步加载页面中载嵌入异步加载的组件时对页面会有渲染延时影响 ==== 解决方案 因为在首次加载组件的时候会有加载时间, 出现页面滞后, 所以需要合理的进行页面结构设计,原创 2020-08-24 10:16:16 · 477 阅读 · 0 评论 -
Vue 路由守卫的使用
路由守卫一般用于 校验用户是否登入请看下列代码 /orderDetailMap 表示我需要保护的路由 添加了一个 meta 作为标识符原创 2020-06-18 22:05:17 · 252 阅读 · 0 评论 -
event loop 事件循环(宏任务,微任务)
// js 刚开始加载 算 宏任务console.log('holl')// 宏任务 这个setTimeout 是最后执行的 因为js文件一开始加载就是宏任务,里面再遇到宏任务的情况 不会执行 扔到下一次循环再执行setTimeout(()=> { console.log('endholl')},0)// Promise 微任务 ---- 微任务可以认为跟屁虫 永远跟在当前宏任务的后面Promise.resolve().then(() => { console.log(原创 2020-06-17 18:16:25 · 152 阅读 · 0 评论 -
谈谈学习算法的优势
在公司里面往往也就是几个技术,如果你还停留在调用Api的阶段,你如何能超越别人呢?Api谁不会调用呀,百度一搜全是答案对吧,你学再多的技术,比如说Python,前端,Go,Java,你对他们底层不了解,又有什么用了,还是停留在Api的阶段,只会调用而不会造轮子。这是体验出算法的优势了,你能造出轮子给公司其他同事调用,你就比他们突出,升职的机会超他们一倍,运气好直接升级到领导位,就告别苦逼的码农生活了。(祝你们好运)...原创 2020-05-10 22:14:38 · 572 阅读 · 0 评论 -
ng 怎么切换成cnpm 安装模块
ng config cli.packageManager cnpm原创 2020-05-06 14:46:45 · 479 阅读 · 0 评论 -
mpvue 怎么使用less语法
安装less编译环境cnpm install less --savecnpm install less-loader@4.1.0 --save配置,在webpack.base.conf.js 的 rules 节点下新增:{ test: /\.less$/, loader: "style-loader!css-loader!less-loader" }如图所示...原创 2020-05-04 18:42:12 · 1071 阅读 · 0 评论 -
什么是链表
链表的优点链表中的元素在内存中不必是连续的内存空间链表的每个元素由一个存储元素本身的节点和一个指向下一个元素的引用组成链表不在创建的时候确认大小,并且大小可以无限延申下去链表在插入和删除的时候,时间复杂度可以达到O(1).相对数组效率高很多(为什么链表会比数组效率高很多,前面博客说了,不懂可以去看看)链表的缺点链表访问某个元素的时候必须从头查找,不能像数组一样指定某个下表就可以找...原创 2020-05-03 11:08:37 · 245 阅读 · 0 评论 -
JS如何实现优先级队列
function PrioritQueue() { // 在PrioritQueue里面有创建了一个类,可以理解类部类 function QueueElement(element, priority) { this.element = element this.priority = priority } // 储存数组 this....原创 2020-05-02 11:57:45 · 376 阅读 · 0 评论 -
JS如何实现队列以及队列常用算法(面试题)
什么是队列上篇文章以及讲,这里就不多说了,不知道的朋友可以去看一下我上篇发布的文章 // 队列一般用链表来存储数据 function Queue() { this.items = [] Queue.prototype.enqueue = function (element) { this.items.push(element) }...原创 2020-05-01 15:44:36 · 464 阅读 · 0 评论 -
JS队列的思想
都说代码是对人类的生活一种抽象,你看队列像不像我们去电影院买票 (食堂买饭排队)(公共卫生间排队) 也是一样我就拿电影院打个比方吧, 张三,李四,王五.,依次买票 ,当张三买完票了是不是得从前面离开买票台,然后李四上前买票,再王五。可能有些人会问,队列在代码中有什么用呢?答:微信和QQ你用过吧? 当你发送两条消息的时候对方是不是先收到,你先发送的消息,再收到你后发的消息。这种有个专业名词...原创 2020-05-01 09:34:33 · 205 阅读 · 0 评论 -
JS栈结构实现 中缀表达式转后缀表达式
function Stack() { let items = [] this.push = function (element) { items.push(element) } this.pop = function () { return items.pop() } this.peek = function () {...原创 2020-04-30 21:30:04 · 699 阅读 · 1 评论 -
JS数组深入理解
// 新手学习JS 一直不懂,这两个都是创建一个数据有什么区别呢? 请看下面详细讲解var s=new Array(); var s=new Array(2);/*先了解数据是怎么扩容的 数据是直接在内存中开辟空间 假设 Array() 创建的时候默认给你开辟10空间,当你插入第11个元素的时候JS底层会给你在内存中另外开辟空间,空间的大小是第一个空间的2倍,然后复制过去。这是不是就...原创 2020-04-29 11:48:26 · 291 阅读 · 0 评论 -
JS方法循环 === 类似forEach
function Array(arr) { this.arr = arr }Array.prototype.forMap = function (callback) { // callback 参数是方法 let arr = this.arr.length for(let i = 0; i < arr; i++) { callback.call(this, th...原创 2020-04-28 15:41:58 · 473 阅读 · 0 评论 -
vue3 Axios解决跨域问题
我相信大家进来就是想知道怎么写的,我就不多BB什么了 直接上代码本文重点(axios.defaults.headers.post[‘Content-Type’] = ‘application/json’)这种错误就是跨域问题了第一步 安装 Axios : npm install axios -S第二步重点(axios.defaults.headers.post[‘Content-Ty...原创 2019-08-19 21:43:12 · 6862 阅读 · 6 评论 -
Vue 实现多选
vue 多选 按钮先看一下效果吧 内容比较机密 所以打了一下马 ‘不好意思’HTML代码jsCSS原创 2019-10-21 09:42:04 · 1193 阅读 · 0 评论 -
Vue3 element 菜单 动态加载导航带上伸缩功能
模拟后端数据const menu = [{ "menuId": 1, "menuName": "管理系统", "parentId": 0, "route": null, "type": 0, "icon": "el-icon-setting", "orderNum": 0, "children": [{ "menuId": 2, ...原创 2019-08-30 16:41:16 · 1408 阅读 · 3 评论