![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
js
前端真好玩
这个作者很懒,什么都没留下…
展开
-
前端文档在线预览
史上最简单文档预览方案 支持js vue react<a :href="'https://view.officeapps.live.com/op/view.aspx?src='+自己文档地址" class="wordStyle"> <span>点击查看文档</span></a>强的一笔!原创 2021-11-16 10:39:20 · 499 阅读 · 1 评论 -
前端防sql 注入正则替换
export default (data) => { let obj = typeof data == 'object' ? data : JSON.parse(data) Object.keys(obj).forEach(item => { if (/keyword/i.test(item)) { if (!obj[item]) { return } const i = /select|update|delete|trunca原创 2021-05-11 10:24:54 · 938 阅读 · 0 评论 -
输入框输入几秒后自动执行
使用场景实时校验但是又不想无脑调用接口// input 调用@input="inputchange"let delayTimer ;const inputchange=()=> { let i = 0; if (delayTimer) { clearInterval(delayTimer); } delayTimer = setInterval(() => { i++; if (i === 3) { //自动执行函数 // _原创 2021-05-02 19:08:05 · 793 阅读 · 0 评论 -
微信H5支付问题汇总
1.取code问题//进入自己H5页面,然后去微信的地址拿code,注意一个code只能使用一次if(this.$route.query.code){ let local = window.location.href; window.location.href = "https://open.weixin.qq.com/connect/oauth2/authorize?appid=" + this.appid + "&redirect_uri=" + encodeURICom原创 2021-04-29 11:19:49 · 233 阅读 · 0 评论 -
12306正则校验规则
//密码校验let mreg = /^(?=.*[a-zA-Z])(?=.*[0-9])[A-Za-z0-9]{6,16}$/;//中国居民身份证let sfreg = /^[1-9]\d{5}(18|19|20)\d{2}((0[1-9])|(1[0-2]))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/;// 外国人永久居住证let sfwg = /^[a-zA-Z]{3}\d{12}$/;// 港澳台居民居住证let sfgat = /^8[123原创 2021-04-23 16:54:42 · 398 阅读 · 0 评论 -
浅拷贝,深拷贝使用说明
let a = { i: 0}let b = ab.i = 2console.log(a.i) //2从上面的例子可以发现当给一个变量赋值一个对象的时候,a,b会共用一个引用地址,但实际开发中我们不需要这样于是有了深浅拷贝浅拷贝let a = { i: 0}let b = Object.assign({}, a)b.i = 2console.log(a.i) //1一般情况Object.assign可以解决大部分问题,但是当对象有两层的时候又回到了上面的问题引用同原创 2021-02-20 10:07:15 · 125 阅读 · 0 评论 -
微信小程序修改单个对象属性参数
数组对象太复杂,直接setData会很慢,性能很差,于是想到单独更新对象某个属性 this.setData({ [`goodsList[${index}].choosed`]:choosed })原创 2020-12-14 22:31:54 · 511 阅读 · 0 评论 -
前端插值表达式转换
需求说明将接口返回的字符串替换"1.对病案数据上传时间进行量化考核,以参保人员出院日期后的${p1}天(第${p1}天为法定节假日的,往后顺延一日)内上传至市平台,每份病历每延迟1天,扣除${p2}分;每提前1天,奖励${p2}分。"方法/** * 字符串替换 * ex: filers('hello ${p0}${p1}', 'world!,BOB') => 'hello world!BOB' * @export * @param {*} str * @param {*} rep原创 2020-11-20 14:50:49 · 373 阅读 · 0 评论 -
egg项目运行发布遇到的问题
首先我们拉一个egg项目https://github.com/252547545/egg-dome.git常规操作npm installnpm run dev报错1.运行不起来了??错误ECONNREFUSEDError: connect ECONNREFUSED 127.0.0.1:3306百度了一下原来是mysql 服务没启动打开电脑服务没找到mysql 服务,如果有mysql 服务直接启动下面忽略进入mysql安装的bin目录执行mysqlId --install 初始原创 2020-08-13 17:13:01 · 1508 阅读 · 3 评论 -
vue项目关于前端传Cookie总结
1.请求传cookie 配置//直接在拦截器里加Axios.defaults.withCredentials = true;2.cookie的写入,读取,清除注意:cookie写入需要注意 当项目有多个文件夹时我们需要设置pathcookie清除一般是设置过期日期或者置空,我这里用的是置空/** * 添加cookie * @param {String} objName * @param {String} objValue * @param {Number} objHours */原创 2020-08-12 15:27:36 · 1770 阅读 · 0 评论 -
element-ui自定义文件上传
小哥今天心情好在抄一篇文章啦啦啦!htmlname上传文件参数名 filesdata 上传参数 <el-upload ref="upload" name="files" :data="data" :on-error="onError" :on-success="uploadSuccess" :action="uploadUrl" :auto-upload="false"> <el-button slot="trigger" size="small" type=原创 2020-06-19 16:29:19 · 1898 阅读 · 0 评论 -
Promise
闲得慌,抄篇博客。记录Promise什么是Promise?1.用于异步计算2.将异步操作队列化,按预期顺序执行,返回预期结果3.对象之间传递Promise可以帮助我们处理队列异步回调的问题1.嵌套层次深,难以维护2.无法正常使用return 和throw3.无法正常检索推栈信息4.多个回调之间难以建立联系Promise有哪些特性1.promise的状态只能从 未完成->完成, 未完成->失败 且状态不可逆转。2.promise的异步结果,只能在完成状态时才能返回,而且我原创 2020-06-10 17:14:58 · 76 阅读 · 0 评论 -
JS日期原型扩展
/** * des: 日期操作 * @proStr: 格式化参数 * @return: Date * e.g. new Date().proDate('{%y+1}-{%M+2}-{%d+1}-{%H+1}-{%m+1}-{%s+1}') //年月日时分秒全部加1 */Date.prototype.proDate = function(proStr) { var dealWith = function(str, date) { let t =原创 2020-06-04 10:14:41 · 157 阅读 · 0 评论 -
js数字转金钱格式
/** * * * @export * @param {*} num 待转换的数值 * @param {number} [precision=2] 小数位数 * @param {string} [separator=','] 分隔符 * @returns */export function formatNum(num, precision = 2, separator = ',') { if (arguments.length === 4 && arguments[0原创 2020-06-02 09:57:27 · 611 阅读 · 0 评论 -
JavaScript 中 call()、apply()、bind() 的用法
在JavaScript中,bind、call和apply作用是一样的,都是为了改变某个函数运行时的上下文(context)而存在的,换句话说,就是为了改变函数体内部this的指向。1.call()、apply()、bind() 都是用来重定向 this例如 let obj={ name:'刘枫', age:'25', _fun:function(){ console.log(this.name+'年龄'+this.age); } } let objx={ name:'原创 2020-05-14 15:45:31 · 173 阅读 · 0 评论 -
js参数必传处理
利用参数默认值,可以指定某一个参数不得省略,如果省略就抛出一个错误。function throwIfMissing() { throw new Error('Missing parameter');}function foo(mustBeProvided = throwIfMissing()) { return mustBeProvided;}foo()// Error: ...原创 2020-03-08 16:38:14 · 968 阅读 · 0 评论 -
正则表达式具名组匹配介绍
个人理解记录正则表达式使用圆括号进行组匹配。例const RE_DATE = /(\d{4})-(\d{2})-(\d{2})/;const matchObj = RE_DATE.exec('1999-12-31'); exec:提取匹配结果matchObj输出结果就是[“1999-12-31”, “1999”, “12”, “31”, index: 0, input: “1999-...原创 2020-03-05 20:14:43 · 958 阅读 · 0 评论 -
js字符串常用正则方法
/i 匹配大小写/g 全局匹配match()在字符串内检索指定的值,或找到一个或多个正则表达式的匹配。//返回字符串某字符的个数let str="The rain in SPAIN stays mainly in the plain";let s=str.match(/ain/g);// /ain/g匹配所以ain,/ain/gi不区分大小写let n=s.split(',').len...原创 2020-03-04 20:15:04 · 1231 阅读 · 0 评论 -
es6新增字符串方法
个人学习记录includes():返回布尔值,表示是否找到了参数字符串。let str="Hello world!"str.includes('Hello') // true//还可以这样let arr=['a','b','c','d','e']arr.includes('a')//true//还可以有第二个参数str.includes('Hello',6)//falses...原创 2020-03-03 16:21:22 · 102 阅读 · 0 评论 -
js中arguments介绍
写文章的目的是个人学习记录,避免遗忘首先了解几个概念形参:函数定义的参数实参:调用函数时实际传递的参数函数参数匹配是从左往右匹配,如果实参少于形参个数,那么后面的参数将自行匹配undefined,但是如果实参多于形参个数,那么就需要用到argument了。实例function test() { var s = ""; for (var i = 0; ...原创 2020-03-02 15:56:29 · 302 阅读 · 0 评论