![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
js
caicsama
这个作者很懒,什么都没留下…
展开
-
前端VScode编辑器插件-记录自用
vscode插件原创 2022-01-09 13:58:59 · 462 阅读 · 0 评论 -
if...else if的另一种实现
if…else 经常出现在编码中,但是当条件判断比较多的时候,代码可读性就会下降,不同的条件下,代码逻辑也会不一样例如:if(status === 1) { ...} else if(status === 2) { ...} else if(status === 3){...}条件分支不是很多的情况下,可以使用if..else if ..else也是可以实现的也可以使用switch...case也可以实现一般在采用以下几种方式做:多种状态下,逻辑相同,可以条件合并。使用includ原创 2021-08-23 09:53:30 · 278 阅读 · 0 评论 -
安装nvm--命令行安装
使用npm安装显示显示nvm包已经被抛弃了。需要使用curl进行安装进入指定网站原创 2021-08-08 10:18:59 · 429 阅读 · 0 评论 -
wx.getUserInfo获取到的用户信息为匿名信息,微信小程序接口调整---代码更改
可以直接参考官方文档:wx.getUserProfile或者往下看:效果:需要点击按钮进行授权,比原来的授权简单了:wxss.avator-tit{ display:flex; margin-top:20rpx; font-size:32rpx; align-items: center;}.avatar{ width:160rpx; text-align:left; border-radius: 50%;}wxml: <view class=原创 2021-05-20 21:10:54 · 646 阅读 · 0 评论 -
微信小程序 下载PDF文件--后端返回二进制数据流
后端使用TCPDF插件生成PDF:首先,安装Composer,PHP包管理工具参考:下载网址:https://getcomposer.org/download/安装完毕,控制台输入composer -v,显示下图,说明安装成功2.使用compser安装tcpdf,在指定的文件夹下,打开控制台输入composer require tecnickcom/tcpdf出现composer.json、composer.lock、vendor,并且vendo文件夹下出现,说明插件安装成功3.后端生成原创 2021-04-21 12:54:12 · 2775 阅读 · 10 评论 -
微信小程序 图片预览、长按可删除
这篇就属于纯应用类的了实现了图片的预览、删除,只能上传一张图片WXML 文件 <view class="weui-cell__bd"> <block wx:for="{{files}}" wx:key="*this"> <view class="weui-uploader__file" data-index="index" bindlongpress="deleteImg" bindtap="previewImage" id="原创 2021-03-28 16:59:28 · 525 阅读 · 0 评论 -
千分位格式化 -小数点版也有
简单的小数点格式化问题: 将123456789 转成 123,456,789利用正则表达式let num = 123456789;let regExp = /(?!^)(?=(\d{3})+$)/g;let ans = (num + '').replace(regExp, ',');console.log(ans);// '123,456,789'说明:(?!^) :该位置不能是开头,避免出现 ',123,456,789’这种情况(?=(\d{3})+$): 匹配的位置是结尾前面,1.原创 2021-03-08 13:17:57 · 682 阅读 · 0 评论 -
理解cookie、localStorage、sessionStorage之不同
理解cookie、session、localStorage、sessionStorage之不同原创 2021-02-27 15:24:22 · 626 阅读 · 0 评论 -
策略模式实现深度拷贝
深度拷贝区别于浅拷贝:浅拷贝:对不同数据类型表现不同,对于基本数据类型(布尔、数值、string、null、undefined、Symbol),拷贝基本数据类型的值;对于引用数据类型(Object、Array、Date、Error、Number、String、Boolean等),拷贝的是内存地址(其中一个变化会影响到另外一个元素)深拷贝:主要是对于引用数据类型,新拷贝元素(每一层)都拥有一个新的内存空间,不会和原来的元素公用一块内存空间策略模式策略模式是为了避免过多的if else if else原创 2021-01-27 17:48:17 · 100 阅读 · 0 评论 -
实现Array.proptotype.reduce--简易版
首先,分析原有的Array.prototype.reducereduce是一种归并方法,对每一项都会运行一个归并方法(计算数组之和可以使用)参数:reduce(callback[,initialVlaue])其中:callback: 数组中每个元素执行操作的方法,必选initialValue:初始值,可选操作函数:callback(prev,cur[,index,arr])prev: 前面操作的结果,有initialVlaue的时候,开始执行的时候prev=initialValue;没有原创 2021-01-20 18:34:25 · 138 阅读 · 0 评论 -
requestAnimationFrame、setTimeout、setInterval
MDN定义:requestAnimationFrame():执行动画,要求浏览器在下次重绘之前调用指定的回调函数更新动画参数:回调函数作为参数,回调函数会在下次重绘之前执行回调函数的执行次数和浏览器的刷新频率有关返回值: 回调列表的唯一ID标识;传入widow.cancelAnimationFrame()取消回调函数可以利用requestAnimationFrame()实现节流let flag = false;window.addEventListener('scroll',()=>{原创 2021-01-18 10:45:51 · 211 阅读 · 1 评论 -
Javascript创建并查集类方法
并查集包含 并 和 查 两方面给节点找到权值最大的BOSS,合并查找该节点的时候,找到该节点的BOSS,进行比较,操作class UnionFind{ constructor(n){ this.node = new Array(n) .fill().map((item, idx) => idx) // 树的高度,代表了节点的权重 this.rank = new Array(n).fill(0);原创 2021-01-13 12:28:57 · 280 阅读 · 0 评论 -
github+hexo搭建博客-2021
搭建博客必要条件:1. github账号,配置了ssh2. 本地安装node,win+R,cmd进入命令行,node -v出现版本号,安装了node,版本不能低于10.133.首先得有一个github的账户,配置了ssh,New repository,仓库名本地创建文件夹,例如:创建Blog文件夹,安装hexo下面的内容都是在Blog目录下完成(如果不是,会标明)全局安装:npm install -g hexo-cli同样进入命令行输入:hexo -v查看版本号,是否安装成功建站:原创 2021-01-11 23:22:15 · 725 阅读 · 2 评论 -
本地调试npm包
切换到需要调试的npm包(加入是test),控制台npm link目的:将这个npm包链接到global下的node_modules上切换自己需要使用npm包的目录下,控制台输入npm link test就可以在自己的项目下,node_modules中看到这个包了也可以使用当前目录中使用:npm link test包的相对位置参考链接:npm link如何在本地调试npm包...原创 2021-01-07 17:28:43 · 885 阅读 · 0 评论 -
利用node.js实现JSONP实现跨域
//jsonp.html<script> // 把数据返回给回调函数 自动调用回调函数 function test(data){ alert(data.name) }</script><script src="http://127.0.0.1:8090/jsonp?callback=test"></script>'use strict'const http=require('http');const urlModule=require原创 2020-12-09 19:47:47 · 85 阅读 · 0 评论