自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(114)
  • 资源 (1)
  • 问答 (1)
  • 收藏
  • 关注

原创 良纵的博客目录

基础提升https://juejin.im/post/5e166cc5f265da5d57543102 安装homebrew: /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" Failed to connect to raw.githu...

2020-03-24 15:44:22 2773

原创 uniapp自定义导航栏返回按钮及点击事件(附示例demo可免费下载)

第一步:显示按钮假设页面名称为:AddSort在pages.json中找到AddSort,{ "path" : "pages/manageDetail/good/sortManage/AddSort/AddSort",}将它改为:{ "path" : "pages/manageDetail/good/sortManage/AddSort/AddSort", "s...

2019-05-08 10:01:55 26928 7

原创 天地图418优化

天地图418优化,通过随机函数,把请求压力分布到各个服务器上,偷取官方key为己所用,降低请求压力。

2023-02-07 16:04:01 1567 2

原创 渐变色border & clippath梯形

渐变色border & clippath梯形

2022-10-13 11:37:03 336

原创 css三维旋转

css三维旋转

2022-10-11 10:13:03 230

原创 旋转放大动画

<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document&l.

2021-11-10 11:07:33 233

原创 【npm】检查用户是否使用了最新包

const packageJSON = require('./package.json')const exec = require('child_process').execconst npmPackageName = 'NeteaseCloudMusicApi'; // 包名exec(`npm info ${npmPackageName} version`, (err, stdout, stderr) => { if (!err) { let version = stdout.

2021-09-03 15:12:11 315

原创 前端如何准备大厂面试

简历简历的作用有两个1.通过初筛2.面试的时候出题大纲算法框架八股文面试节奏

2021-06-19 01:01:11 1335 1

原创 面经

百度一面 useMemo、useCallback区别,怎么用useMemo实现useCallback bfc 求两数组交集 手写函数柯里化 父div里两个子div(inline-block),为什么两个子div中间会有小缝隙,如何解决 外边距重叠,及解决方案 手写bind百度二面从url输入到浏览器渲染的全过程 什么是合成层 react高阶组件是什么,你见过哪些通用的高阶组件,如何实现 手写节流防抖 状态码301 302 啥意思 304协商缓存 强缓存 1000个请求

2021-03-05 09:10:41 262 1

原创 处理null导致的函数默认参数失效

// 处理null导致的函数默认参数失效const nullLess = (fn,unValid=[null]) => (...args) => fn(...args.map(item=>new Set(unValid).has(item) && void 0));const add = (a=1) => console.log(a);add(); // 1add(null); // nullconst add2 = nullLess(add);..

2021-02-28 12:01:38 295

原创 【1LineCode】一行代码节流防抖

const debounce = (fn,timeout = 1000,_timer) => (...args)=>clearTimeout(_timer(_timer = setTimeout(fn.bind(this,...args),timeout)))const throttle = (fn,timeout = 1000,_flag=true) => (...args)=>_flag &&setTimeout(()=>{_flag = true;.

2021-02-27 23:19:03 31788 1

原创 如何实现串行promise

// 模拟ajaxconst ajax = (id,timeout=500) => () => new Promise(resolve=>setTimeout(resolve.bind(null,id), timeout));// arr:参数数组// fn:对每个参数需要执行的函数const main = (arr,fn)=>{ const [values,reasons] = [[],[]]; return new Promise(resolve=&g.

2021-02-25 20:09:57 550

原创 React hooks acc

〇、引我们通常使用ahooks作为reacthooks库,它为我们的开发提供方便的同时,也引起了我们的思考,开源社区还有哪些还不错的reactHooks库呢?本文是从github中找到的各类hooks的整理,希望为我们开发、学习提供帮助。一、零散hook name github keyword reference use-immer https://github.com/immerjs/use-im.

2021-02-22 15:08:06 343

原创 Promise.objAll

先说Promise.all我们都知道Promise.all的功能,入参是一些promise(也可以不是),返回跟入参位置一一对应的promise结果。那我们有时候也需要处理一批异步任务,返回结果保存在不同字段中,我们可能会这样写const eat = await eatPromise;const listen = await listenPromise;return { eat, listen}这样写有什么缺点?每个await是一个任务,eat任务执行完,才能执行listen任务,

2021-02-18 14:19:31 224

原创 互联网人如何在理想和利益中寻求平衡

十年前老师:你们那帮后排的学生,天天艮了艮了you了you了的,不好好学习以后挑大粪去啊?我们低头小声嘀咕:你才去挑大粪。十年后tl:咱们要搞一个lowcode平台,这玩意好不好用再说,主要是说出去多好听啊,你下个月的晋升就稳了。我:领导您说的是(内心os:wtf)不知道从什么时候开始,我们喜欢谈利益,好像周围的人也都在说。“你可得好好学习啊,为了挣大钱,为了牛逼”“出来工作就是为了赚钱的嘛”“年底了,要评绩效了,我得好好表现,争取拿A”如果我..

2021-02-06 17:05:22 330 2

原创 等待页面所有图片加载完毕

const waitImgLoaded = async (root) => { const imgs = root instanceof HTMLImageElement ? [root] : root.querySelectorAll('img'); return await Promise.all( imgs.reduce((total,img)=> ( total.concat(new Promise(resolve=>{.

2021-01-28 14:44:16 1161

原创 js data structure

class ListNode { constructor(v,next){ this.v = v; this.next = next; } link(next){ this.next = next; return this; } linkArr(arr){ let cur = this; for(let i = 0,len = arr.length; i < l.

2021-01-21 14:45:28 217

原创 手写flat

const flat = (arr)=>arr.reduce((total,cur)=>total.concat( Array.isArray(cur)?flat(cur):cur),[]);

2021-01-14 19:20:16 313

原创 Date.now() 比 +new Date()快多少

先说结论:3.3倍测试代码如下:const calcTimeConsuming = (fn) => { const res = []; for(let k = 0 ; k< 100; k++){ let start = Date.now(); for(let i = 0 ; i< 1000; i++){ for(let j = 0 ; j< 1000; j++){ .

2021-01-05 18:00:02 873

原创 js获取cookie的公共方法

const res= document.cookie.split('; ').reduce((total,prev)=>{ const [key,value] = prev.split('='); return {...total,[key]:value} },{});

2020-08-17 10:23:13 529

原创 批量替换json中的字段名

const replaceSome = (repalceNames = []) => (originObj = {}) => repalceNames.reduce(((total, { o, n }) => Object.assign(total, { [n]: originObj[o] })), {});// const obj = {name:'哈喽',age:'12'};// const repalceNames = [{o:'name',n:'newName'},{o.

2020-08-07 20:32:20 1690

原创 怎么使用dayjs实现momentjs的fromNow功能

文档demoimport dayjs from 'dayjs';import relativeTime from 'dayjs/plugin/relativeTime';dayjs.extend(relativeTime);export const renderNumCalls = ({num = 0, time = '--'}) => ( <React.Fragment> {/* time === 1595817403565 */}

2020-07-27 10:45:07 2461

原创 安全的concat

const arr2obj = (array, initVal = true) => array.reduce((total, cur) => { total[cur] = initVal; return total;}, {});// eslint-disable-next-line no-extend-nativeArray.prototype.safeConcat = function (value, forbiddenArr = []) { const UNDEFI.

2020-07-10 10:18:08 244

原创 js求阶乘

const calc = (num) => [...Array(num).keys()].slice(1).reduce((cur, total) => total * cur, 1);

2020-07-09 14:20:38 491

原创 从一个数组中随机取出几个样本JavaScript

const getRandomArray = array=>array.sort(Math.random()>0.5?-1:1).slice(~~(Math.random()*array.length));

2020-06-18 20:01:03 436

原创 题解title工具

执行用时 :72 ms, 在所有 JavaScript 提交中击败了33.84%的用户内存消耗 :32.7 MB, 在所有 JavaScript 提交中击败了100.00%的用户变为72ms(>33.84%);32.7MB(>100.00%) in JavaScript<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta n.

2020-06-05 14:27:33 269

原创 umijs添加自定义区块(使用自定义git地址)

一、创建区块# 使用umi脚手架npm create umi选择block上传到自有gitlab二、对即将使用区块的项目进行准备设置从gitlab拉取所有区块到当前项目 在package.json中找到scripts字段,添加两条命令"getblocks": "mkdir blocks && cd blocks && git clone <git地址>", "updateblocks":"cd blocks &&amp.

2020-05-12 16:04:54 1262 2

原创 JavaScript快排

const main = (arr, flag = true) => { const quickSort = (arr) => { if (arr.length <= 1) { return arr; }; // 取出中间元素 const current = arr.splice(~...

2020-04-27 14:10:29 324

原创 怎么知道你的任务栏有多高(宽)?

<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document&...

2020-04-18 20:01:00 356

原创 JavaScript寄生组合继承

// 工具方法:继承原型function inherit(superPro,subPro){ const prototype = Object.create(superPro.prototype); Object.defineProperty(prototype,'constructor',{ value:superPro, enumerable...

2020-04-17 23:42:42 221

原创 JavaScript使用function创造类,和es6中的class的一点区别

function Person() { }class Student { }const temp = { age: "15"};Person.prototype = temp;Student.prototype = temp;console.log( Person.prototype === temp, // true Student.prototype ...

2020-04-16 21:21:24 562

原创 JavaScript对象的遍历方式比较

JavaScript遍历方式比较 遍历方式\属性特点 是否可以遍历描述符为enumberable:false的属性 是否可以遍历自身的属性 是否可以遍历原型上的属性 for...in... √ √ Object.getOwnPropertyNames √ √ Object.keys √ cl...

2020-04-16 21:01:20 296

原创 JavaScript已知一个对象,求它的构造函数

class Person { }const jack = new Person();Object.getPrototypeOf(jack).constructor.name // PersonObject.getPrototypeOf(jack).constructor // class Person { }

2020-04-16 20:10:53 395

原创 给一个初始值1202,单位是秒,实现在页面上进行倒计时,展示为hh:mm:ss的格式。

<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document&...

2020-04-08 21:32:21 307

原创 JavaScript数组转json(可以降低一级时间复杂度)

let arr2json = (arr,propertyname)=>arr.reduce((total,next)=>Object.assign(total,{[next[propertyname]]:next}),{})let arr = [ {name:"北京",age:100}, {name:"上海",age:99}, {name:"深圳"...

2020-04-06 19:46:43 402

原创 JavaScript数组的转换方法:toString、valueOf、tolocaleString

结论toString:调用数组各个元素的toString方法,然后用逗号(,)拼接到一起。valueOf:返回数组本身toLocaleString:调用数组各个元素的toLocaleString方法,然后用逗号(,)拼接到一起,类似toString详解class Person { constructor(value) { this.v...

2020-04-06 18:49:27 282

原创 为什么在控制台输入var name = Symbol();会报错?VM3436:1 Uncaught TypeError: Cannot convert a Symbol value to a str

问题复现var name = Symbol();// VM3436:1 Uncaught TypeError: Cannot convert a Symbol value to a string解释每一个部分var定义的变量会把它提升到当前函数作用域顶部,如果是浏览器全局作用域就会成为window的一个属性。By the way,let会把变量提升到当前块级作用域顶端,如...

2020-04-02 16:49:16 5456

原创 JavaScript面向对象的一点理解

概述 在JavaScript中,我们创建对象用的是 new Xxx() 的办法,而在java这样的典型的面向对象语言中,也是通过同样的写法创建对象。虽然二者写法类似,但是理解完全不同。 通常,java的面向对象可以简单理解为,做月饼。我有一个月饼模子,把材料放里面,就可以得到一个月饼。是一种基于模型创建对象的模式。 JavaScript的面向对象可以理解,克隆技术。已...

2020-04-01 11:28:46 247

原创 null & undefined

理解null可以理解为变量指针指向了空对象 undefined可以理解为指针指向不明确。undefined是派生自null的。判断null == undefined // trueundefined是派生自null的。typeoftypeof null === 'object' // true 因为null是个指针指向空对象的变量 未声明的变量和声明了未赋值的变量使用 ...

2020-03-31 21:29:13 311

原创 获取所有s开头的标签

<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document&l...

2020-03-31 20:40:56 492

自定义导航按钮.zip

uniapp导航栏自定义按钮及点击事件; 在pages.json中找到AddSort, { "path" : "pages/manageDetail/good/sortManage/AddSort/AddSort", } 将它改为: { "path" : "pages/manageDetail/good/sortManage/AddSort/AddSort", "style" : { "navigationBarTitleText" : "添加分类", "app-plus": { "bounce": "none", //关闭窗口回弹效果 "titleNView": { "buttons": [ //原生标题栏按钮配置, { "type":"none", "text":"\u2713", "float":"right" } ] } } } }

2020-03-25

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

TA关注的人

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