自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 JavaScript获取数组的所有子集

const getAllSubsets =theArray => theArray.reduce((subsets, value) => subsets.concat(subsets.map(set => [value,…set])),[[]]);console.log(getAllSubsets([1,2,3]));

2022-01-21 09:00:59 1437

原创 莫比乌斯环 JavaScript模板

function init_prime(n) { let mu = Array(n + 1).fill(0); let prime = Array(n + 1).fill(0); mu[1] = 1; for (i = 2; i <= n; i++) { if (!prime[i]) { prime[++prime[0]] = i; mu[i] = -1; } for (j = 1; prime[j] * i <= n; j++)

2021-12-11 16:16:03 692

原创 JavaScript shift-and算法学习笔记

shift-and算法是基于kmp算法灵感的改进,建议先去了解kmp算法kmp的核心是找到模式串一样的前缀后,以此信息在遍历母串的时候,做一些跳过操作,达到优化结果const shift_and = (text, pattern) => { /******* 模式串处理-start *******/ let p_len = pattern.length; //code存储的是模式串中,当前字符出现过的位置 //需要注意的是,遍历字符串都是从左到右,对应存储二进制数字的低位

2021-10-15 17:10:44 174

原创 JavaScript字符串Sunday算法学习笔记

function sunday(main, pattern) { const patternLastMap = new Map(); const sLen = main.length, tLen = pattern.length; //获取模式串最后一个字符的位置映射 for (let i = 0; i < tLen; i++) { patternLastMap.set(pattern[i], i); } let curIndex = 0; while (c

2021-10-13 15:31:01 123

原创 KMP算法JavaScript实现笔记

KMP算法JavaScript实现笔记function kmp(strs1, strs2) { if (strs1 === strs2 || !strs2) return 0; const sLen = strs1.length, tLen = strs2.length; const next = Array(tLen); next[0] = 0; let matchLen = 0; for (let curIndex = 1; curIndex < tLen; cu

2021-10-13 10:21:04 87

原创 微信小程序 IOS跳转微信直播间问题

微信小程序 IOS跳转微信直播间问题场景:线上项目发现安卓可以跳转,IOS线上项目无法通过长按扫码的方式进度微信直播间;测试后猜测,IOS机型无法通过二维码在自身项目跳转自身项目体验版是可以的,猜测是,体验版和正式版是两个小程序解决方式:直接通过跳转的方式解决...

2020-10-13 16:24:45 359

原创 关于使用nvm切换node之后npm无法使用的问题

网上搜索了一下,发现是说node8.x以上,切换后是不会自动安装node,需要手动安装①查找本地添加的node版本:nvm list,②nvm use 10.18.0,发现跑npm命令就报错③通过node中文网:http://nodejs.cn/download/,没找到10.x版本(可能我瞎),通过最下面的阿里云镜像,打开的是:https://npm.taobao.org/mirrors/node/v14.6.0/,然后直接把v14.6.0版本改成v10.18.0,找到自己需要的版本,下载压缩

2020-07-25 23:30:31 5173

原创 vue-cli3+项目,按环境引入cdn资源

因为项目太大了,很多很大的依赖包,为了做优化,把大的包通过cdn的方式引入,但是正式服希望引入min.js,开发服希望直接引入非min的js,因为min版把一些报错和警告都去掉,不方便调试需求:①.期望使用min.js资源的服使用min.js的cdn资源②.期望使用非min.js资源的服使用非min.js的cdn资源一、查找.通过"webpack-bundle-analyzer"插件,查到到较大的依赖,就找对应的CDN资源引入//vue.config.js下//下载依赖 npm i -D web

2020-07-25 23:25:26 1848

原创 vue-cli3配置环境变量

因为一些业务需求,如埋点等需要区分环境,在index.html用到jsp语法,在vue-cli搭建的项目中配置环境变量chainWebpack:config={ config .plugin('define') .tap(args => { //一些根据环境变化的腾讯广告或者百度统计埋点参数 const {baiduStatisticsSrc, txAdvertiseData} = require('./config/env.js')

2020-07-16 18:31:09 872

原创 element的DateTimePicker时间选择器确定才变更时间的问题

需求:是点击确定才变更时间element的组件是change就会改变双向绑定的值,看到源码有handleClose方法,于是尝试在handleClose方法动收件,并且套了一层,封装这个DateTimePicker组件,缺点:点击确定后,派发给父组件的值,在提交前需要处理转化一下格式,但是好歹算是实现了父组件: <picker :disabled="false" v-model="timer" format="yyyy.MM.dd HH:mm" val

2020-06-29 15:05:37 2980

原创 mpvue跳转同个路由页面的问题

onLoad(options) { this.page_query = options; }, onShow() { const _this = this; wx.pageScrollTo({ scrollTop: 0, success: function() { let pages = getCurrentPages(); //页面栈 let currPage = pages[..

2020-06-01 19:31:47 190

原创 JavaScript原型学习笔记

JavaScript原型学习笔记理解误区关于 instanceof理解误区关于isPrototypeOf理解误区重新理解instanceof后重新理解isPrototypeOf后理解误区关于 instanceof理解误区1.之前一直以为instanceof是用来判断一个对象是否某个函数以构造函数调用实例化出来的实例//导致产生理解误区的modefunction F1(){};let f...

2019-12-15 15:15:32 130

原创 结合通过把富文本内容的px转换成rem

需求:在移动端需要展示各种富文本编辑器产出的富文本内容,且横向不滚动问题:因为移动端用的是rem适配,富文本内容固定是px单位,会导致页面横向滚动p.style{ weight:auto;} //把富文本的px转成rem //Big.js是一个解决计算失精问题的插件,可以直接除100 function pxToRem(a, b,) { let _Bi...

2019-08-22 20:15:20 996 1

原创 全局解决IOS输入框失焦后页面留白问题

IOS在输入框输入确认后,会存在页面被键盘顶起来,下部分留白问题目前没发现此方法有BUG在app.vue里面添加函数和失焦事件 //在对应生命周期添加以下逻辑 //最好加一个是否为IOS环境的判断 this.$nextTick(() => { document.addEventListener('blur', this.blurChange, true) }); ...

2019-08-08 10:01:51 331

原创 vue中优雅的解决IOS滑动穿透问题

添加指令在滚动的最外层元素使用该指令1.适用于弹窗内部不需要滚动的场景Vue.directive('lockScrollBack', { update: function (el, binding, vnode) { if (binding.value.includes(true)) { el.addEventListener('touchmove', bodyScr...

2019-08-07 09:50:06 936

原创 一个实现拖动效果的demo

PC端,基于vue框架,通过原生api实现的拖动效果要点1.通过事件委托优化性能和解决数据异步渲染的问题2.通过元素节点的draggable属性,设置对应元素为可拖动或者不可拖动&amp;lt;template&amp;gt; &amp;lt;div id=&quot;app&quot; ref=&quot;app&quot;&amp;gt; &amp;lt;!--draggable设置为true才可以拖动--&a

2019-03-16 18:01:16 525

原创 优雅的实现vue父子组件的value双向绑定

需求:父子组件value的双向绑定v-model可以拆分为@input和:valuev-model实现双向绑定是@input的回调函数中,执行赋值给value的语法糖子组件向父组件通讯,第一个参数为input,其实是给父组件中子组件@input回调中传入参数并且设置对应value改变父组件中对应双向绑定的值,即可实现双向绑定只能实现子组件最上级元素的value绑定,适用于父组件控制子组...

2018-12-20 13:48:14 2003

原创 基于图片的cdn最终得到blob对象

利用图片的cdn最终转化为blob对象需求分解利用cdn链接判断文件是否是图片格式转化为base64格式转化为base64格式base64格式转化为blob对象 // 判断文件是否为图片类型 function isImage(ext) { if (ext == 'png' || ext == 'jpg' || ext ==...

2018-12-11 15:26:01 578

原创 微信小程序列表懒加载

基于微信小程序原生API实现数据列表懒加载一、子组件二、父组件基于wepy的项目需要实现小程序的列表懒加载没找到合适的微信小程序懒加载插件,找的资料基本都是图片懒加载,于是自己实现小程序API档:https://developers.weixin.qq.com/miniprogram/dev/framework/app-service/page.html主要基于onReachBottom...

2018-12-11 09:39:52 5609

翻译 在微信小程序解析html富文本

基于wxParse插件实现一、使用基础二、封装组件三、父组件使用github地址: https://github.com/icindy/wxParse因第一次开发小程序,此文更偏向于记录简单的使用方式一、使用基础1.下载wxParse整个文件夹2.文件夹内,除了emojis之外,其他都是必要需保留的3.wxParse.wxml里面的是组件模板二、封装组件&amp;lt;template&amp;g...

2018-12-05 16:36:48 806

原创 限制input标签中,只允许输入大于0的正数且保留两位小数

基于监听事件和通过正则处理字符串实现一、原生JS二、基于vue三、基于vue和element-ui一、原生JS&amp;amp;amp;lt;body&amp;amp;amp;gt;&amp;amp;amp;lt;input type=&amp;amp;quot;text&amp;amp;quot; id=&amp;amp;quot;number&amp;amp;quot; placeholder=&amp;amp;quot;只能输入数字

2018-12-05 15:56:00 8216 5

空空如也

空空如也

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

TA关注的人

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