自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 VSCode将一份代码同步到多台服务器的解决方案

VSCode将一份代码同步到多台服务器的解决方案

2022-11-08 10:21:15 1562 1

原创 mac生成树形结构

mac生成树形结构

2022-07-21 18:57:29 526

原创 prettier 格式化代码配置

使用的是vs code环境,前提是已经配置好prettier自动化格式,但是使用的格式化方式是prettier自己的,然后需要自定义一些格式化方法,在项目根目录创建 .prettierrc文件,然后里面写自己需要的配置:...

2022-07-13 09:33:48 1059

原创 数据库的操作命令行:

数据库操作记录

2022-06-17 19:26:06 278

原创 使用sentry上传sourcemap

一个配置项成功上传soucemap文件到sentry

2022-06-13 18:51:06 2722 2

转载 Homebrew国内如何自动安装(国内地址)(Mac & Linux)

Homebrew国内如何自动安装(国内地址)(Mac & Linux)

2022-06-03 04:46:07 193

原创 防抖和节流

//防抖function debounce(fn,delay) { let time= null; // 私有化数据 return function (){ let context = this,args = arguments; if(time) { // 下一次点击的时候获取到上一下的time,也就是保持数据。 clearTimeout(time) // 思考题 这里要不要清空time // .

2022-05-05 14:59:00 117

原创 Webpack构建一个原生Ts多入口项目

第一步,初始化webpacknpm init -y(生成package.json)第二步,下载构建工具npm i -D webpack webpack-cli typescript ts-loader webpack:构建工具webpack    webpack-cli:webpack的命令行工具    typescript:ts的编译器    ts-loader:ts加载器,用于在webpack中编译ts文件第三步,创建配置文件:webpack.config

2022-03-09 16:40:19 1254

原创 JavaScript基本数据类型

一、数字(Number)1.包括浮点数和整数什么是浮点数:浮点数就是该数值中必须有一个小数点,并且小数点后面必须至少有一位数字。由于保存浮点数值的内存空间是保存整数值的两倍,所以js会不失时机的把浮点数转换为整数。小数点后面没有数值或者1.0就会被保存成整数。2.特殊的数字类型NaN1、表示不是数字,但是其实它是一个特殊的数字(NaN:Not a Number)2、当运算操作符错误的时候,一般会得到NaN3、NaN具有传染性,即NaN参与任何运算,结果都为NaN4、NaN与任

2022-03-08 12:06:37 400

原创 前端性能监控

市面上已经有很多前端监控系统了,有收费的,有免费的,种类繁多,产品针对方向也不一样,这边给小伙伴们罗列了一些常见的成熟监控系统流量分析的监控有:百度统计、谷歌分析、GrowingIo、友盟错误统计的监控有:sentry、fundebug、frontJs、岳鹰、webfunny当然还有一些前端监控产品:OneApm、听云目前使用过的前端监控工具有:fundebug,可以免费使用一个项目,但是事件数只允许3000以内。frontJs 更是无言可说。所以就想着能不能自己找个现成库搭建一下

2022-03-07 16:00:15 647

原创 mac 安装yarn

三种方法:1.使用mac 脚本安装curl -o- -L https://yarnpkg.com/install.sh | bash 2.使用homebrew安装brew install yarn 3.使用npm安装npm install -g yarn 三种方法,一种失败就直接换其他的。我使用的是第一种成功了,然后使用命令,查看版本,报错:不要慌,继续往下面看, 原因是没有配置path:1. touch ~/.bash_profile .

2022-02-16 17:04:13 5267

原创 npm init @vitejs/app

npm init @vitejs/app,vite创建新项目

2022-02-07 16:16:57 478

原创 canvas drawImage() 方法

canvas操作

2021-12-09 18:26:52 1178

原创 h5打开微信小程序

​​​​​​​获取 URL Scheme | 微信开放文档微信开发者平台文档https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/url-scheme.html微信官方文档:1. 文档《URL Scheme打开小程序》2. 《获取 access_token》请求地址https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&am

2021-09-14 19:22:07 1968

原创 linux常用命令

创建文件夹:makedir 文件名创建文件:touch 文件

2021-07-22 10:00:55 88

原创 js常用的一些方法

直接拷贝,不用再写了1.获取当前的日期:getnowstamp() { const d = new Date() return `${d.getFullYear()}-${(d.getMonth() + 1) .toString() .padStart(2, '0')}-${d .getDate() .toString() .padStart(2, '0')} ${d

2021-06-01 10:01:10 127

原创 编码风格

1.禁止使用var,为了防止变量提升,以及声明多个全局变量,建议不再使用var命令,而是使用let命令取代。2.全局常量和线程安全在let和const之间,建议优先使用const,尤其是在全局环境,不应该设置变量,只应设置常量。const优于let有几个原因。一个是const可以提醒阅读程序的人,这个变量不应该改变;另一个是const比较符合函数式编程思想,运算不改变值,只是新建值,而且这样也有利于将来的分布式运算;最后一个原因是 JavaScript 编译器会对const进行优化,所以多使

2021-05-11 14:14:26 88

原创 富客户端和瘦客户端

1.富客户端富客户端确切地应该称为富因特网应用程序(rich internet applications,ria)富客户端技术正在不断地完善中,但并不意味着会取代html。相反它将进一步扩展浏览器功能,使之提供更加高效和友好的用户接口。许多ria都在浏览器中运行,甚至它本身就是html的一部分,所以html将继续保持其原有的角色。另外,由于富客户端技术可以支持运动的图像、视频、音频、双向的数据通信和创建复杂的窗体,它为创建应用程序用户接口提供了一个高效而完善的开发环境ria开发必须具备三个要素:

2021-04-27 17:01:11 838

原创 Vscode设置Eslint插件

1.安装插件vscode2.项目中要使用vscode3.启动Eslint红线报错:ESLint is disabled since its execution has not been approved or denied yet. Use the light bulb menu to open the approval dialog.eslint点击右下角4.就成功全局启动了Eslint5.保存文件自动按照Eslint格式保存...

2021-04-27 16:06:16 446

EvenLoop,js的事件循环机制

JavaScript的事件分两种,宏任务(macro-task)和微任务(micro-task)宏任务:包括整体代码script,setTimeout,setInterval微任务:Promise.then(非new Promise),process.nextTick(node中)事件的执行顺序是先执行宏任务,然后执行微任务,然后任务有同步任务和异步任务,同步任务进入主线程,异步任务进入Event Table并注册函数,异步队列执行完毕后,会把回掉函数放在Event Queue(任务队列)宏任务和微任

2021-04-25 17:30:03 185

原创 hasOwnProperty

Object.prototype.hasOwnProperty()hasOwnProperty()方法会返回一个布尔值,指示对象自身属性中是否具有指定的属性(也就是,是否有指定的键)。const object1 = {};object1.property1 = 42;console.log(object1.hasOwnProperty('property1'));// expected output: trueconsole.log(object1.hasOwnProperty('t.

2021-04-23 16:15:05 83

原创 css的animation

animation:这个也是一个重要的属性,但是不经常用,容易遗忘,记录一下:简写:animtion:animation-name,animation-duration,animation-timing-function,animation-delay,animation-iteration-count,animation-direction1.animation-name:规定需要绑定到选择器的 keyframe 名称2.animation-duration:规定完成动画所花费的时间

2021-04-15 13:43:52 153

原创 前端解决图片404的问题

目前在做信息流列表的时候,需要点击不同的图片跳转不同的地址,主要就是图片404的捕捉和替换备用图片1.目前在用的,使用的是全集的错误捕捉const basesrc = 'http://static.51gzdhh.xyz/2020-05-15/2/23da5ac3420d1f4b87790d0b91c690d1.jpg' window.addEventListener('error', function(e) { if (e.target.tagName === 'IMG

2021-04-07 16:43:41 3978

原创 数组的高级方法

1.数组求和reduce

2021-03-24 16:34:10 270

原创 图片懒加载

图片懒加载的集中实现方式1.基于原生 js 实现图片懒加载首先需要知道几个高度:document.documentElement.clientHeight获取屏幕可视区域的

2021-03-23 14:48:43 146

原创 原生js的触底加载

function getDocumentTop() { var scrollTop = 0, bodyScrollTop = 0, documentScrollTop = 0; if (document.body) { bodyScrollTop = document.body.scrollTop; } if ...

2021-02-20 13:53:18 564

原创 base64实现加密和解密

这个直接上方法://2.加密、解密算法封装:function Base64() { // private property _keyStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="; // public method for encoding this.encode = function (input) { var output

2020-12-28 10:55:01 364

原创 正则表达式

对于一个前端来说,对正则表达式不懂,那肯定是说不过去的,之前使用正则的情况一般都是在网上

2020-12-23 11:23:23 117

原创 一个好用的加载中的样式

主要是记录一下一个小清新的加载样式,方便以后拷贝:<view class="loading-wapper" v-if="!loadedAll && !noListData"> <view class="loading-icon"></view> <text class="loading-txt">加载中</text></view>样式 .loading-icon {

2020-12-18 12:29:44 395

原创 多层解构赋值

一般使用结构赋值的时候,多是服务端返回的数据的时候,一般会包有固定的一层数据,data什么之类的,所有此时使用一个解构赋值,会使得代码看起来略微高雅一点普通的解构赋值let obj = { data: { data: { cites: [1, 2, 3] } } }结构出第一个da

2020-12-16 12:30:40 2557

原创 记录一个广告请求方法,js的byte和string的相互转换

使用场景:就是需要在body前面加上一个 16位的为0的byte数组,然后就一直在纠结,最开始的时候,一直都在想怎么将字符串转换为byte,然后找了各种方法,ArrayBuffer,什么方法都找过了,都是解析失败解决方法:自己写了一个16个字节的二进制0数组,然后转换为字符串,拼接在请求的前面,成功。记录两个方法:function stringToByte(str) { var bytes = new Array(); var len, c; len = str.le

2020-12-11 14:57:00 500

原创 获取这个网页的来源,广告来源获取

需求是:获取到前一个页面的url,跳转到第三方的页面,需要判断流量的来源,必须是直接从浏览器打开的,或者是通过书签过来的判断他的方法是通过document.referrer来获取的,所以目前要做的就是,让他获取不到这个referrer下面的场景无法获得 referrer 信息直接在浏览器中输入地址 这个测试出来的结果的可以的,获取的是空 使用location.reload()刷新(location.href或者location.replace()刷新有信息) 使用刷新的话,或有结...

2020-12-04 19:24:12 634

原创 h5游戏收集

完整的所有的游戏:http://m.wesane.com/1.彩虹屁:http://www.wesane.com/game/260/2.擦一擦:http://www.wesane.com/game/219/3.翻转水瓶:http://www.wesane.com/game/268/4.扔磁铁:http://www.wesane.com/game/270/5.旋转飞刀http://www.wesane.com/game/358/6.保护蛋蛋http://ww

2020-11-26 12:06:33 1284

原创 JS的断点调试记录

这里主要是对断点调试的过程进行记录(可能是因为我做的项目比较简单,其实都没有用过调试工具,一般就是打印就可以了)

2020-11-26 10:36:22 220

原创 浏览器缓存

缓存可以分为服务端的缓存和浏览器的缓存,对于前端来说,能控制的就是浏览器的缓存,所以着重讲一下浏览器的缓存。浏览器的缓存策略主要是依靠HTTP Header 来实现的,主要分为两种:强缓存协议缓存强缓存是指在缓存期间,请求不会发送到服务器,浏览器直接返回缓存结果,需要设置 Header:expires Cache-Controlexpires:expires:Wed,10Oct202009:51:00GMTexpires 是 HTTP/1.0 中用于控制网页...

2020-11-24 12:09:10 198

原创 解决h5页面放在app里面,location.replace不能使用的解决方案

现在的需求是,app里面嵌套的是同一个页面,然后需要根据不同的地区展示其他的页面,直接是通过 locaion.replace() 跳转不同的页面,然后很简单的就实现了但是现在的问题就是 有些app里面不支持replace的方法,虽然可以跳转,但是没有覆盖上一个页面,导致返回的时候还是返回到上一个页面,然后继续跳转倒要跳转的页面,用户体验极差。首先是第一种解决方案:在跳转的时候往本地缓存一个标识符:(nowtime是每一次进入当前页面url后面带的时间戳,currenDate是当前日期)se.

2020-11-18 15:10:14 6495 3

原创 js的导入导出总结import和require区别

导出===es5:module exports = { a:a, b,b}es6:export default { a:a, b:b}导入===es5export default 和 export 区别1 、export与export default均可用于导出常量、函数、文件、模块等2、你可以在其它文件或模块中通过import+(常量 | 函数 | 文件 | 模块)名的方式,将其导入,以便能够对其进行使用3、在一个文件或模块中,export.

2020-11-17 19:38:12 1423

原创 获取浏览器的唯一指纹

这个也是使用的别人的插件:Fingerprint2代码如下:<!DOCTYPE html><html lang="zh-CN"><head> <meta charset="UTF-8"> <title>Fingerprint2 TEST</title> <style> body { color: #555; }

2020-11-17 17:13:39 1977

原创 前端js实现md5加密

这里主要是使用插件,记录一下:引入:<scriptsrc="https://cdn.bootcss.com/blueimp-md5/2.10.0/js/md5.js"></script>然后使用:md5('101151123412347tJsupCChsVpRHz4PxxjOtMuAeigUn47')返回值就是加密的32位小写的sign...

2020-11-17 17:10:02 3397 1

原创 webpack的优化

production打包自带优化

2020-10-29 12:52:38 114

空空如也

空空如也

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

TA关注的人

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