js
文章平均质量分 53
MYG_G
这个作者很懒,什么都没留下…
展开
-
error:0308010C:digital envelope routines::unsupported
error:0308010C:digital envelope routines::unsupported报错,解决方案降低node版本,启用legacy OpenSSL provider,配置package.json文件原创 2024-03-07 11:09:11 · 1576 阅读 · 0 评论 -
js相同字符串截取拼接
[ '999-1234567899', '999-1234567900','999-1234567901']数据转化成999-1234567899/900/901原创 2023-11-28 16:32:07 · 604 阅读 · 0 评论 -
js数组中,相同id的item数据合并
js处理相同id的item,指定数据合并原创 2023-11-28 16:05:41 · 987 阅读 · 0 评论 -
js删除多层数组嵌套的最后一层中的部分数据
我想删除arr中,第二个对象里面的aList中的{id:153,name: daad}的元素。const arr = [ { id: 1, name: 'llaq', aList: [ { id: 20, name: 'hdka', }, { id: 12, name: 'loqas', }, ] }, { id: 2, nam原创 2021-07-01 11:31:56 · 2282 阅读 · 0 评论 -
ES6中扩展运算符(spread)和剩余运算符(rest)详解
参考文献:1.https://blog.csdn.net/qq_43523725/article/details/1159372132.https://blog.csdn.net/weixin_43249693/article/details/88222392在ES6中。 三个点(…) 有2个含义。分别表示 扩展运算符 和 剩余运算符。1.剩余运算符(Rest),三个英文半角句点1.在函数或解构中使用在函数中,虽然arguments可以用来获取实参,但获取结果是类数组,需转为数组**(Array转载 2021-04-22 17:28:29 · 456 阅读 · 0 评论 -
JS 特性:可选链(?.)
可选链操作符参考文献:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Operators/Optional_chaininghttps://blog.csdn.net/qq_45534034/article/details/104273131什么是可选链可选链操作符( ?. )允许读取位于连接对象链深处的属性的值,而不必明确验证链中的每个引用是否有效。?. 操作符的功能类似于 . 链式操作符,不同之处在于,在引用为原创 2021-04-14 17:11:16 · 5233 阅读 · 0 评论 -
AES 加密
AES 加密// AES 加密 encrypt = (word) => { var key = CryptoJS.enc.Utf8.parse('key值'); var iv = CryptoJS.enc.Utf8.parse('特定值'); var encryptResult = CryptoJS.AES.encrypt(word, key, { iv: iv, mode: CryptoJS.原创 2020-12-29 15:47:28 · 340 阅读 · 0 评论 -
Moment.js--超级牛的前端时间插件
Moment中文网:http://momentjs.cn/1.依赖安装npm install moment --save # npmyarn add moment # YarnInstall-Package Moment.js # NuGetspm install moment --save # spmmeteor add momentjs:moment # meteorbower install moment --save # bower (废弃)2原创 2020-09-27 16:03:33 · 806 阅读 · 0 评论 -
Edge浏览器自动给数字加下划线的解决方法
Edge浏览器自动给数字加下划线的解决方法原文链接:https://blog.csdn.net/itmyhome1990/article/details/106613588在Edge浏览器中会自动给符合某种规则的数字(比如电话号码、邮件等等)加下划线,如下图在这里插入图片描述解决方法是在head中加入:<meta name="format-detection" content="telephone=no,email=no,address=no">...转载 2020-09-08 10:01:47 · 552 阅读 · 0 评论 -
接口统一加时间戳(接口避免缓存)
接口统一加时间戳(接口避免缓存)如何获取时间戳let time = new Date().getTime();1.axios如果你们请求接口用的是axios的话,可以用路由拦截器来统一加,在config.url后面统一加时间戳就可以了借鉴于:https://www.kancloud.cn/yunye/axios/234845!!!强烈推荐看一下,很清晰!!!我们在请求数据的时候,会出现几种情况,判断权限或者loading的显隐。这些在每一个请求都会做的事情,我们可以封装一个service的请求原创 2020-09-07 17:25:02 · 6516 阅读 · 0 评论 -
json字符串化循环引用JS
json字符串化循环引用JSJSON.stringify大家已经不陌生了,是一个将json对象转换为字符串的方法。但是如果你在浏览器控制台中输出 JSON.stringify(window). 如果期望输出一段文字, 可能会失望了. 事实上, 会输出结果如下:VM211:1 Uncaught TypeError: Converting circular structure to JSON at JSON.stringify (<anonymous>) at <anony原创 2020-09-07 17:10:59 · 1014 阅读 · 0 评论 -
点击掉接口获取数据,避免多次调用(react)
点击掉接口获取数据,避免多次调用(react)addEvent = () => { document.addEventListener('click', this.handleAdd)}removeEvent = () => { document.removeEventListener('click', this.handleAdd)}handleContent = (e) => { e.nativeEvent.stopImmediatePropagation()}原创 2020-09-07 17:04:43 · 1330 阅读 · 2 评论 -
this.forceUpdata()---react
this.forceUpdata()—reactreact里面强制刷新组件的默认方法,this指的是当前组件,所以这里用到 计时器,计时器的this是指向window的,这里用bind来改变this指向if (expensesProjectList === null) { console.log(expensesProjectList, 55555555) let timer = setTimeout((function () { clearTimeout(timer) let原创 2020-09-07 17:03:27 · 838 阅读 · 0 评论 -
babel-polyfill报错
babel-polyfill报错报错原因:babel-polyfill报错,是因为他只能在页面调用一次,如果调用多次就会冲突。一个很好的例子,我之前写代码的时候,加引导页,我想点击按钮的时候加载页面的JS,后来,我想点击整个屏幕也可以加载,当这两个同时存在的时候,点击按钮的时候注入了JS,按钮也在页面的Div里,所以这个时候会触发两次,页面就会报错,为了避免这个问题,你要在加载页面的时候进行判断,无论哪种情况只能触发一次将JS注入页面。<div id="root"><span id=原创 2020-09-07 17:01:29 · 1476 阅读 · 0 评论 -
mobile+PC白屏问题解决(react15.6)
mobile+PC白屏问题解决(react15.6)出现白屏的原因:因为后端加了缓存,用户使用的时候会有缓存,当线上更新新的版本以后,当打开页面以后会读取本地缓存,因为之前的js文件已经被替换,所以找不到文件,页面就出现了白屏。给version文件加了时间戳,每次进index.html的时候,会指向下面的script标签里面的代码,因为时间戳不一样,所以每次都会调用一下version。需要每次在发新版本的时候,手动替换一下version里面的js的src路径。就可以解决白屏1.index.html在i原创 2020-09-07 16:57:32 · 324 阅读 · 0 评论 -
span标签在edge浏览器下划线
span标签在edge浏览器字符长度过长会出现下划线这问题在谷歌和火狐都没出现,但是在edge浏览器就出现了,是span变成了a标签,所以有了下划线并且变蓝,还可以点开。如下图:解决:把span换成div,再加上display:inline-block属性 <div style={{ fontSize: 32, fontWeight: 'bolder', color: '#F00', display: 'inline-block' }}> {`¥${sumPrice}` }<原创 2020-09-07 16:10:23 · 691 阅读 · 0 评论 -
js保留两位小数方法
js保留两位小数方法1、四舍五入的情况var num =2.446242342;num = num.toFixed(2); // 输出结果为 2.452、不四舍五入1.第一种,先把小数边整数:1.丢弃小数部分,保留整数部分parseInt(5/2)2.向上取整,有小数就整数部分加1Math.ceil(5/2)3,四舍五入.Math.round(5/2)4,向下取整Math.floor(5/2)Math.floor(15.7784514000 * 100) / 100 //原创 2020-08-19 16:26:59 · 5761 阅读 · 2 评论 -
js 将字符串中指定字符全局替换
js 将字符串中指定字符全局替换原文链接:https://blog.csdn.net/zhouxukun123/article/details/80413906JavaScript 中的 replace() 方法用于将字符串或其中的子字符串替换为指定字符,或替换一个与正则表达式匹配的子串。该方法不会改变原始字符串。语法stringObject.replace(regexp/substr, replacement)它将在 stringObject 中查找与 regexp 相匹配的子字符串,然后用 r转载 2020-08-13 11:40:31 · 1451 阅读 · 0 评论 -
正则表达式的指定符号+1-200正整数校验
正则表达式的指定符号. 查找单个字符,除了换行和行结束符 . === [^\r\n]\w 查找单词字符 \w === [0-9A-z_]\W 查找非单词字符 \W === [^\w]\d 查找数字字符 \d === [0-9]\D 查找非数字字符 \D === [^\d]\s 查找空白字符(空格符,制表符\t,回车符\r,换行符\n,垂直换行符\v,换页符\f) \s === [\n\f\t]\S 查找非空白字符 \S === [^\s]\b 匹配单词边界\B 匹配非单词边界\0 查找n原创 2020-08-13 11:33:32 · 2214 阅读 · 0 评论 -
JS时间戳转换为天数
JS把年月日时分秒字符串转成时间戳 var time = Date.parse(new Date("2020-08-31 16:00"));时间戳转换为天数截止时间减去当前时间,算出距离截止的天数let rangeDateNum = (time - new Date.getTime()) / (1000*3600*24);...原创 2020-08-12 18:03:03 · 12083 阅读 · 0 评论 -
js换行符转换html换行
js换行符转换html换行在标签中加入:dangerouslySetInnerHTML={{ __html: 有换行符的数据?.replace(/[\n]/g, “”)}}<div style={{ float: 'right', width: 316, fontSize: 14 }} dangerouslySetInnerHTML={{ __html: 有换行符的数据?.replace(/[\n]/g, "<br/>原创 2020-07-30 15:44:05 · 2788 阅读 · 0 评论 -
中英文姓名及手机号的正则表达式
原文链接:https://blog.csdn.net/jt_1120112216/article/details/77905540中英文姓名正则var namereg = /^[\u4E00-\u9FA5A-Za-z\s]+(·[\u4E00-\u9FA5A-Za-z]+)*$/;一般的手机号正则var myreg = /^(((13[0-9]{1})|(15[0-9]{1})|(18[0-9]{1}))+\d{8})$/;...转载 2020-07-24 16:36:39 · 779 阅读 · 0 评论 -
ES5和ES6区别
一.严格模式定义:更严格的模式,不支持变量提升用法:“use strict”;加在作用域开头,建议加在函数的作用域中,不能加在全局作用域中demo1:function fn(){ a=100; } fn(); console.log(a);//100//因为在调用函数时a=100,因为在函数中没有声明变量a,所以修改全局变量var a=100,所以结果为100但是在严格模式下function fn(){ "use strict"; a=100原创 2020-07-14 14:29:54 · 593 阅读 · 0 评论 -
JavaScript常用数组方法(增,删,改,截,拼,复,排,转)
数组Arr的增,删,改,截,拼,复,排,转 //1.arr.splice(start,length,元素1,元素2,元素3...)改变原数组,第二个长度代表返回数组的长度,截取从start开始length个元素从arr中提出。 var arr = [1,2,3,4]; var a=arr.splice(1,2,[1,2,3,4],5) console.log(a);//2,3 console.log(arr);//1,[1,2,3,4],5,4 alert(arr.len原创 2020-07-14 14:18:27 · 260 阅读 · 0 评论 -
pubsub.publish触发一次pubsub.subscribe调用多次解决
发布订阅模式发布订阅模式定义了一种一对多的依赖关系,让多个订阅者对象同时监听某一个主题对象。这个主题对象在自身状态变化时,会通知所有订阅者对象,使它们能够自动更新自己的状态。有时候,你想监听一种状态,当在某种情况下,触发它,然后做一些相应的事,有点儿类似我们的自定义事件。订阅发布,也是解决这一类问题的利器。我一般用到发布订阅者模式的时候,是在比如,父子传值,兄弟传值没办法满足我的需求,我需要在这个页面操作,要改变另一个不相关的页面里面的数据,这时候就用到发布订阅模式。用法pubsub-jspubl原创 2020-07-08 14:44:13 · 8406 阅读 · 4 评论 -
js遇到的各种兼容问题
//1.scrollTop(滚动条到页面顶端的距离)var scrollTop = document.documentElement.scrollTop || document.body.scrollTop;//2.scrollLeft(滚动条到页面左边的距离)var scrollLeft = document.documentElement.scrollLeft || document.body.scrollLeft;//3.byClassName的兼容function byClassNam原创 2020-06-28 14:58:51 · 191 阅读 · 0 评论 -
阻止浏览器的默认行为---超链接
<body> <a href="http://www.baidu.com">百度</a> <script> //阻止浏览器的默认行为---超链接 var oA=document.getElementsByTagName('a')[0]; oA.onclick=function(evt){ var e = evt || window.event; //e.preventDefault();//标准浏览器阻止超链接默认行为 //e.retur原创 2020-06-28 14:56:25 · 622 阅读 · 0 评论 -
添加和删除事件监听的兼容
<body> <input type="button" name="btn" id="btn" value="按钮" /> <script> var oBtn=document.getElementById("btn");// oBtn.οnclick=fn1;原来方法无法一一调用,现在启用事件监听// oBtn.οnclick=fn2;// oBtn.οnclick=fn3; //标准浏览器添加时事件监听 /.原创 2020-06-28 14:52:34 · 249 阅读 · 0 评论 -
js树结构数据处理成一维数组(递归)
话不多说,直接上代码const makeList = (roles) => { if (!Array.isArray(roles)) { return { menus: null,}; } const menus = []; const recursion = (dataArr, parentPathname) => { dataArr.forEach((data) => { if (data && typeof data =原创 2020-06-24 14:29:58 · 2017 阅读 · 0 评论 -
js浮点数乘法bug
bug原因:JavaScript 内部只有一种数字类型Number,也就是说,JavaScript 语言的底层根本没有整数,所有数字都是以IEEE-754标准格式64位浮点数形式储存,1与1.0是相同的。因为有些小数以二进制表示位数是无穷的。JavaScript会把超出53位之后的二进制舍弃,所以涉及小数的比较和运算就会出问题,博主刚刚就到了,计算价格的时候,如下图。111.1*12得到如下:解决方法一:这个方法还是有问题的,当111.11 * 7 * 49的时候也会有问题/** **原创 2020-06-23 15:47:50 · 802 阅读 · 0 评论 -
JS获取事件源
获取事件源原理:将子元素的事件交给父元素处理,提高性能,利用事件冒泡<body> <ul id='ul'> <li>1</li> <li>2</li> <li>3</li> <h4>hhhh4444</h4> <li>4</li> <li>5</li> <li>6</li>原创 2020-06-22 15:03:22 · 1826 阅读 · 0 评论 -
JS阻止拖拽的默认行为
<head> <meta charset="UTF-8"> <title></title> <style type="text/css"> #box1{ width:100px; height:100px; background: orangered; position: absolute; } #box2{ width:100px; height:100px.原创 2020-06-22 14:56:53 · 2810 阅读 · 0 评论 -
js如何显示base64格式图片
解决方法// v.img是指base64格式的图片数据流<img src={`data:;base64,${v.img}`} />原创 2020-06-18 10:50:52 · 4743 阅读 · 0 评论 -
JS Switch用法
Switch用法在你用js写了一大堆的if else以后,逻辑肯定是没毛病的,但是代码的简洁度就没有那么好了,那就来试试switch吧????。cosnt v = { id : 1}let x = ''//if用法if (v.id == '1') { x='1111';} else if (v.id == '2') { x='2222';} else if (v.id == '3') { x='3333';}//switch用法switch (v.id) { ca原创 2020-06-12 11:18:25 · 972 阅读 · 0 评论 -
js获取当前域名和端口号以及完整URL
一、js获取当前项目域名 var domain = document.domain; // http://www.baidu.com var domain = window.location.host;二、获取项目端口号var port = location.port; //获取端口号 8080var host = location.host; //获取主机名+端口号 例如:192.168.0.1:8080三、获取当前项目URLURL指的是浏览器的地址栏的网址,其中包括域名+端口号+当原创 2020-05-25 14:26:45 · 11766 阅读 · 0 评论 -
前端js文件流导出文件下载在本地
博主在写一个前端导出功能,点击按钮,将文件下载到本地。后端返回的是文件流的格式,下面就是实现的方法,亲测可用哦~1.js导出方法handleExport = () => { const req = new XMLHttpRequest(); req.open('POST', url, true); req.responseType = 'blob'; req.setRequestHeader('Content-Type', 'application/json');原创 2020-05-13 16:12:36 · 3900 阅读 · 2 评论 -
如何判断页面是由移动端还是pc端打开
如何判断页面是由移动端还是pc端打开原文链接:https://blog.csdn.net/u013583619/article/details/52874611转载 2020-05-08 10:12:00 · 1198 阅读 · 0 评论 -
利用JS事件让你更加愉快地划水
原文出处:https://blog.csdn.net/CUFEECR/article/details/1055667331.上网课再也不怕自动暂停在看尔雅课视频的时候很多小伙伴有没有遇到鼠标一离开当前页面就自动暂停了,这样你的电脑就没办法做其他事情,就只能一直开着上课的界面。现在你有福了,我刚在上面原文大佬哪里get到了新技能,膜拜膜拜~在当前界面面右键=>检查(或直接点击F12),...转载 2020-05-07 11:04:56 · 191 阅读 · 0 评论 -
js对象的合并
js对象的合并问题情况:将2个或2个以上对象(object{…})中的属性进行合并,即最后合并为一个object{…}。解决办法:Object.assign 方法<script> let data = {name: 'mm', id: '1'}; let data1 = {type: '类型', height: 180}; Object.assign(d...原创 2020-04-29 14:54:48 · 4753 阅读 · 0 评论 -
js对树进行处理,去除了没有有子节点的分组
js对树进行处理,去除了没有有子节点的分组getMold2(res.data, list) // getMold2这个方法,是把我们所有树层结构获取子节点,只要没有子节点的数据都要,去除了没有有子节点的分组export const getMold2 = (tree, result) => { const treeLength = tree ? tree.length : 0 f...原创 2020-04-23 15:10:36 · 875 阅读 · 0 评论