自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 js monad 函数式编程

【代码】js monad 函数式编程。

2023-06-02 19:26:57 111

原创 js 根据文件流判断文件类型

【代码】js 根据文件流判断文件类型。

2023-06-02 19:24:41 654

转载 三国鼎立:ChatGPT、百度文心一言、微软 New Bing

推荐国内可访问chatGPT:ChatGTP:更像是三国中魏国,地大物博用户多。百度文心一言:更像是三国中的蜀国,地理优势好,国内用户超级多。微软的 New Bing:更像是三国中的吴国,有较好的外交,国内国外通吃。

2023-03-22 17:49:17 224

原创 近八成中国程序员起薪过万人民币,你过了么?

具体而言,79%的00后程序员已经脱单,在90至95年之间出生的程序员中,有66%的人处于恋爱或结婚状态。77%的本科毕业生起薪超过1万元,其中74%的00后应届毕业生的月薪在1至3万元区间,只有23%的程序员薪资在1万元以下。一项调查显示,近八成中国程序员本科毕业生起薪过万(人民币,下同,约2000新元),他们跳槽首选智能汽车和芯片行业,此外,程序员婚恋市场抢手,八成00后已“脱单”。在95年至00年出生的程序员中,1至3万元月薪的比例下降至63%,21%的程序员月薪冲到3至5万元。

2022-10-28 13:00:08 465

原创 程序员应该专注技术还是转管理?

很多程序员其实是吃青春饭的,到了35岁之后,别说涨薪了,要是公司垮了,你换个岗位试试?不要过早地放弃编写代码的能力,因为如果你是纯管理者,你会面临一个问题,如果管理者失业了,你怎么办?这是个很现实的问题,你有专业技能,你能写代码,企业最需要这种人,岗位很多。你要是纯管理,开始也说了,每个公司的管理岗位很少,而且大部分都会在自己内部培养。当然,我更推荐你把工作中学到的知识,解决过的问题,通过写文章的方式,发布到网络上。想转管理,虽然门槛没有专注技术那么高,但是,公司里的管理岗位非常少,凭什么轮得到你?

2022-10-28 10:32:12 458

原创 一句话需求,让你去抄人家产品,你遇到了咋办

一句话需求,就是抄。让程序员去反推代码逻辑,真是搞笑啊

2022-10-26 15:29:32 312

原创 前端的焦虑,你想过30岁以后的前端路怎么走吗?

前端的焦虑,你想过30岁以后的前端路怎么走吗?

2022-10-21 09:18:30 141

原创 uniapp使用“js-base64“出现问题

最近在uniapp中引用base64报错import { Base64 } from "js-base64/base64"解决办法: 就是将js-base64的版本规定到 "^2.6.4",否则使用高版本会报错

2022-06-13 08:43:14 1620

转载 前端规范方案

关于本文来自:https://juejin.cn/post/7085257325165936648不以规矩,不能成方圆。本人有幸经历了团队的一个过程,在此当做记录供大家参考。本文从以及出发,逐步引申出如何去建立适合自己团队的规范,详细讨论了前端具体涉及到的规范都有哪些,部分小节有具体的配置步骤和操作链接。文中涉及到的所有配置均放在github上的 Demo[1] 中,觉得不错的点个赞 ❤️❤️❤️。下面我们开始吧🏃。规范能给我们带来什么好处,如果没有规范会造成什么后果?这里主要拿代码规范来说。统一代码规范.

2022-06-13 08:40:15 201

原创 web性能权威指南

一,延迟与宽带网站越快,用户的粘性越高网站越快,用户忠诚度越高网站越快,用户转化率越高。二,TCP三,UDP四,HTTP1.0 1.1 2.0五,XMLHttpRequest六,Websocket七,WebRTC

2021-12-17 18:25:05 2746

原创 javascript实现继承

function inherits(clazz, baseClazz) { var clazzPrototype = clazz.prototype; function F() {} F.prototype = baseClazz.prototype; clazz.prototype = new F(); for (var prop in clazzPrototype) {//属性也继承了 clazz.pro...

2021-12-02 16:40:20 160

原创 如何让手动设置input的value时,触发change事件

<input id="input">input.value = 'xxx';// 手动触发change事件input.dispatchEvent(new CustomEvent('change'));

2021-10-28 14:00:50 1595 1

原创 js 实现双击

const dbClick = { time: 0, action: function (callback) { this.time = new Date().getTime() setTimeout(() => { if (new Date().getTime() - this.time < 300) { callback() } }, 300) }}dbClick.action(() => { co.

2021-08-23 10:44:07 390

原创 javascript 多个数组组合成不重复数组组合

function setUserNameCombination(data) { let result = []; Object.keys(data).forEach((key) => { const arrItem = data[key]; if (result.length === 0) { result = arrItem.map(e => ({[key]: e.value})); } el...

2021-08-10 10:22:19 298 1

原创 Blob 下载文件时 type 类型 大全

aac AAC audio audio/aac .abw AbiWorddocument application/x-abiword .arc Archive document (multiple files embedded) application/x-freearc .avi AVI: Audio Video Interleave video/x-msvideo .azw Amazon Kindle eBook format .

2021-04-29 10:18:11 21198 6

原创 鼠标移入时显示滚动条

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

2021-03-31 17:56:35 2489

原创 javavscript while循环遍历树形结构

const treeFilter = (node, action) => { if (!node) { return; } action(node) var stack = []; stack.push(node); var tmpNode; while (stack.length > 0) { tmpNode = stack.pop(); if (!tmpNode) return if (tmpNode.children &.

2021-03-30 13:28:28 506

原创 javascript 遍历树 获取目标路径

function getPath (data, id, cb) { var temppath = []; try { getNodePath(data); } catch (e) { console.log(e, temppath) } function getNodePath (node) { temppath.push(node.id); if (node.id == parseInt(id)) { throw ("获得数据.

2021-03-30 13:24:30 758

原创 过节了!!!

过节了,过节了!!!

2020-10-24 08:26:22 87

原创 qiankun 微前端 Demo

上代码,不多说。qiankun 需要一个基座项目,下面这个就是基座vue项目的main.js的配置。import Vue from 'vue'import App from './App.vue'import router from './router'import store from './store'import ElementUI from 'element-ui';import 'element-ui/lib/theme-chalk/index.css';Vue.us

2020-09-30 12:58:43 870

原创 canvas 小球自由落体

html:<canvas id="canvas" width="600" height="600" >Sorry!</canvas>重点在js:canvas其实就是在画一直重画,时间间隔很短,一点点的改变小球的位置,看起来就像小球在做运动,var ctx;var canvas;var startx=15;var starty=15;canvas = document.getElementById("canvas");ctx = canvas.g...

2020-06-15 21:05:55 257

原创 js 设计模式之策略模式

策略模式的定义是:定义一系列算法,把他们一个一个封装起来,并且是他们可以相互替代。 <form action="http:// xxx.com/register" id="registerForm" method="post"> 请输入用户名:<input type="text" name="userName"/ > 请输入密码:<input...

2020-05-08 14:36:37 137

原创 js 数组转tree

数组数据var list = [  {id:1,pid:0,name:'一级'},  {id:2,pid:1,name:'一级1'},  {id:3,pid:1,name:'一级2'},  {id:4,pid:2,name:'一级1-1'}]// 数组转treefunction composeTree(list = []) { const data = JSON.pa...

2020-01-08 14:49:14 646

原创 css初始化样式

body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,button,textarea,p,blockquote,th,td { margin:0; padding:0; }body { background:#fff; color:rgb(153,153,153) !important ...

2020-01-08 10:40:43 81

原创 h5移动端rem布局

rem布局就是参考html上的font-size做参照例如html设置font-size:20px; 那么1rem就表示为20px。如何兼容多种手机配置?以ui设计稿为750px 为例document.documentElement.style.fontSize=document.documentElement.clientWidth/7.5+'px'通过js 动态计...

2020-01-07 15:03:28 285

原创 js 利用set实现取交集、并集和差集

let a = new Set([1, 2, 3]);let b = new Set([4, 3, 2]);// 并集let union = new Set([...a, ...b]);// Set {1, 2, 3, 4}// 交集let intersect = new Set([...a].filter(x => b.has(x)));// set {2, 3}/...

2019-12-23 17:19:29 2574

原创 js 去前后空格

str.replace(/^\s*/, '').replace(/\s*$/, '')

2019-12-20 10:00:12 91

原创 vue 大文件分片上传

<template></template><script> import axios from 'axios' export default { name: 'YunShuBigFileUpload', props: { fileId: { // 上传 type="file"的id type: Stri...

2019-12-02 10:57:56 2492

原创 js 根据文件内容生成 md5值

'use strict';import '../plugins/js-spark-md5.js'export default function (file, callback, progressFn) { var blobSlice = File.prototype.slice || File.prototype.mozSlice || File.prototype.webkitSl...

2019-11-30 14:53:33 2047

原创 vue-router动态路由

用户不登陆也可以查看的页面// router index.jsexport const constantRouterMap = [ { path: '/', component: Layout, redirect: '/dashboard', children: [{ path: 'dashboard', component: (...

2019-11-29 10:39:27 1660

原创 vue 长列表渲染优优化

<template> <div ref="list" :style="{height}" class="infinite-list-container" @scroll="scrollEvent($event)"> <div ref="phantom" class="infinite-list-phantom"></div> &...

2019-11-16 16:49:01 2843

原创 js 二分叉遍历

binarySearch(list, value) { let start = 0; let end = list.length - 1; let tempIndex = null; while (start <= end) { let midIndex = parseInt((start + end) / 2); ...

2019-11-16 16:13:23 363

转载 在前端获取上传的excel文件内容

function ReadExcel() { var tempStr = ""; //得到文件路径的值 var filePath = document.getElementById("upfile").value; //创建操作EXCEL应用程序的实例 var oXL = new...

2019-11-14 19:13:28 1010

原创 canvas 绘画

$(function(){ var canvas = $('#canvas')[0];// console.log(canvas); var ctx = canvas.getContext("2d"); //获取绘图环境// console.log(ctx); var num = 1; function palette(canvas,ctx){ //初始化画布内部元素默认样式 ...

2019-08-28 15:14:42 557 1

原创 javascript (AMD,CMD,Commonjs和ES6) 区别

一, commonjs1. 对于基本数据类型,属于复制。会被模块缓存。同时,再另一个模块可以对改模块输出的变量重新赋值。 对于复杂数据类型,属于浅拷贝。由于两个模块引用的对象指向同一个内存空间,因此改模块的值做修改时会影响另一个模块2.当使用require命令加载一个模块时,就会运行整个模块的代码。当使用require命令加载同一个模块时,不会再执行改模块,而是去到缓存里取...

2019-08-28 11:19:30 685

转载 「中高级前端」从多线程来看 Event Loop

引子几乎在每一本JS相关的书籍中,都会说JS是单线程的,JS是通过事件队列(Event Loop)的方式来实现异步回调的。 对很多初学JS的人来说,根本搞不清楚单线程的JS为什么拥有异步的能力,所以,我试图从进程、线程的角度来解释这个问题。CPU计算机的核心是CPU,它承担了所有的计算任务。它就像一座工厂,时刻在运行。进程假...

2019-08-20 16:48:45 96

转载 vue 打包不同的环境

第1步:安装cross-env 1 npm i --save-dev cross-env 第2步:修改各环境下的参数在config/目录下添加test.env.js、pre.env.js。修改prod.env.js里的内容,修改后的内容如下: 1 2 3 4 5 6 'use...

2019-07-26 14:49:39 203

原创 前端js错误监控onerror的总结

最近一直在做前端js错误监控的工作,在不断的打磨和完善中,发现里面还是知识点不少,现在就前端js错误监控做一些笔记和总结我们知道前端js错误监控主要是利用了window.onerror函数来实现,onerror函数会在页面发生js错误时被调用。window.onerror = function(message, source, lineno, colno, error) { ... }...

2019-07-18 18:24:49 4800 1

原创 canvas 制作星星

function Star(x, y, rotation) { this.x = x; this.y = y; this.length = 15; this.scaleX = 1; this.scaleY = 1; this.rotation = rotation; this.angle = Math.random() * 360; this.vx = 0; this.vy =...

2019-07-15 15:41:48 161

原创 浏览器提示框

export default (title, options) => { // 先检查浏览器是否支持 if (!window.Notification) { console.log('浏览器不支持通知') } else { // 检查用户曾经是否同意接受通知 if (Notification.permission === 'granted') { ...

2019-07-11 14:25:26 397

空空如也

空空如也

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

TA关注的人

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