![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
js
颓废的四哥
闫广英
展开
-
快速编辑html标签
快速生成一大堆重复的表亲啊:编辑器:VS code编辑方式参考: ul#biaoqian.biaoqian>li.banner-cus-$*3.diergeleiming*3>span.duocengqiantao+h.xiongdibiaoqian生成结果: <ul id="biaoqian" className="biaoqian"> <li ...原创 2018-11-28 17:31:15 · 1823 阅读 · 0 评论 -
获取指定元素的所有子元素
function(ele){ let ary=[]; let childs=ele.childNodes; for(let i=0;ichilds.length;i++){ if(childs[i].nodeType===1){ ary[length]=childs[i] } } return ary;原创 2018-01-11 12:51:54 · 5454 阅读 · 0 评论 -
getElementsByClassName()
通过类名获取元素: 因为浏览器兼容性问题,导致getElementsByClassName()的可用性降低,但是通过类名获取元素可以提高写代码的效率,所以封装一下。 function getByClassName(classStr, context) { context=context||document; if(typeof document.get原创 2018-01-05 17:48:41 · 1025 阅读 · 0 评论 -
操作类名
1.判断指定元素是否有某个类名 function hasClass(ele,strClass) { let reg=new RegExp("(^| +)"+strClass+"( +|$)"); return reg.test(ele.className) }2.给指定元素增加某个类名function addClass(ele, str原创 2018-01-05 19:08:54 · 245 阅读 · 0 评论 -
[JS]转换驼峰命名
29 转换驼峰命名要求: 函数接受一个字符串作为参数,可以把类似于 is_good_name 这样的变量名替换成 isGoodName。变量名首尾的下划线不需要做处理,中间的下划线全部删除并且处理成驼峰。const toCamelCaseVar = (variable) =>function(){ let reg=/_(\w)/g; let str=variable.replace(r原创 2017-11-29 21:16:00 · 1303 阅读 · 0 评论 -
数据处理
map原创 2017-11-29 23:14:13 · 264 阅读 · 0 评论 -
arr2tree
数组转树结构数据。function arr2tree (arr) { const arrObj = {}; arr.forEach(item => { arrObj[item.id] = { ...item, children: [], }; }); const tree = []; arr.forEach(item => { if(!item.pid) {原创 2022-01-08 14:29:59 · 559 阅读 · 0 评论 -
面试题
1,输入:“get1_install2_app3_list4_by5_android6”(每个单词后面总会携带一个数字,只有偶数才删掉),我不用循环只用正则怎么实现输出"get1InstallApp3ListBy5Android"?// 1 正则let str = "get1_install2_app3_list4_by5_android6"let reg = /_|(\d*...原创 2020-04-28 11:22:47 · 601 阅读 · 8 评论 -
小程序绑定事件传参
小程序在组件上绑定事件后,传递参数的方式不同于前端开发其他场景中直接加参数的方式,小程序在参数的传递时,采用事件对象的自定义属性的方式,具体实现如下:wxml:<view bindtap="bindHandle" data-index="1">点击事件传参</view>wxjs:bindHandle: function(e){ // 传递的参数 ...原创 2020-04-17 16:29:28 · 665 阅读 · 0 评论 -
create-react-app使用记录
全局安装npm install -g create-react-app创建项目create-react-app 项目名等一会儿。。。创建成功查看项目暴露webpack配置文件(暴露配置文件的目的是增加自己想要增加的依赖。)npm run eject操作成功。增加lessnpm install less-loader less --save-dev修改配置文件:...原创 2020-01-15 18:43:33 · 189 阅读 · 0 评论 -
微信分享:注意事项
未关注公众号的用户,分享链接不会使用设置的文案展示,只会展示链接。分享页面的链接,不能写死,就算是固定的url,也要用window.location.href获取,因为微信会给url增加参数。...原创 2020-01-10 13:32:13 · 167 阅读 · 0 评论 -
click和blur冲突
dom绑定事件触发顺序:mousedown >> mouseup >> blur >> click原创 2020-01-03 13:32:50 · 248 阅读 · 0 评论 -
数组降维
数组降维Array.prototype.reduceconst oldArr = [1, 2, [3, 4]];const newArr = oldArr.reduce((prev, curr) => (prev.concat(curr)), []);Array.prototype.concatconst oldArr = [1, 2, [3, 4]];const ne...原创 2019-11-21 13:46:46 · 200 阅读 · 0 评论 -
小程序复制
wxml<view>内容:{{contents}} </view><view bindtap='copyText' data-text="{{'这里是要复制的内容'}}">复制</view>jsPage({ data: { contents:'这是可以复制的文字,粘贴后即可看到效果' }, copyText: ...原创 2019-11-01 15:18:06 · 160 阅读 · 0 评论 -
默认导出与命名导出
默认导出对于导出内容的命名无关紧要,只要给定名称即可,但默认导出只有一个。命名导出导入时,名称必须与导出的名称一致,可以导出多个。这是默认导入:// B.jsimport A from './A'仅当A具有默认导出时才有效:// A.jsexport default 42在这种情况下,导入时分配的名称并不重要:// B.jsimport A from './A'i...原创 2019-10-16 18:30:15 · 1926 阅读 · 2 评论 -
时间戳
定义:一个整数值,表示自1970年1月1日00:00:00 UTC(the Unix epoch)以来的毫秒数。获取时间戳new Date().getTime()Date.now()时间戳转化为指定格式的时间表示 function getDate(str) { var oDate = new Date(str); var oYear = oDate....原创 2019-10-16 10:15:04 · 166 阅读 · 0 评论 -
获取一个页面中使用最多的标签。
获取所有标签的标签名,存于数组遍历数组,用对象属性不重复的特性累计同一标签使用次数将对象的属性降序排列,取出指定数量的标签参数:length返回:newO,使用次数最多的标签集合,第一个使用次数最多,向后使用次数依次递减getTop5 = (length)=>{ if(typeof length !== 'number'){ throw new Error(...原创 2019-09-26 09:52:31 · 621 阅读 · 0 评论 -
js--序列化
对象序列化是指将对象的状态转换为字符串;序列化(Serialization)是将对象的状态信息转换为可以存储或传输的形式的过程;ECMAScript 5中提供了内置函数JSON.stringify()和JSON.parse()用来序列化和还原JavaScript对象。JSON的语法是JavaScript语法的子集,它并不能表示JavaScript中的所有值,对于JSON语法不......原创 2019-01-28 18:22:44 · 1435 阅读 · 0 评论 -
SB定律
标签名写样式。原创 2018-12-20 10:04:39 · 963 阅读 · 0 评论 -
switch中return和break的区别
return函数就直接返回了。break只是跳到switch的外面,继续执行后面的代码。原创 2018-12-05 16:21:46 · 4341 阅读 · 0 评论 -
Math.random()
取随机整数:Math.random() * (max - min) + min;原创 2018-11-29 17:12:39 · 751 阅读 · 0 评论 -
鼠标划入划出事件
划入:onmouseover 和onmouseenter划出:onmouseout 和onmouseleave区别:1、onmouseover、onmouseout:鼠标经过时自身触发事件,经过其子元素时也触发该事件;2、onmouseenter、onmouseleave:鼠标经过时自身触发事件,经过其子元素时不触发该事件。...原创 2018-11-28 20:14:13 · 6433 阅读 · 0 评论 -
抽奖
要求:有范围,闭区间起始值肯定大于1随机数不能重复知识点:Array.sort(fun):当fun返回的值在排序期间会变化时,排序的结果将是乱序。Array(10):以数字为参数创建数组,将创建一个长度为参数的数组,每一项为undefined。Array.keys():keys方法将数组的索引依次遍历,以数组的方式返回。Array.map():数组的遍历方法。接...翻译 2018-11-21 20:47:39 · 337 阅读 · 0 评论 -
闭包
"官方“解释:比保湿一个拥有许多变量和绑定了这些变量的环境表达式(通常是一个函数),因而这些变量也是表达式的一部分。通俗的讲:js中的function都是一个闭包。嵌套的function所产生的闭包更为强大,也是大部分时候我们所谓的闭包。函数内部的函数被外界一个变量引用的时候,就创建了一个通常所谓的闭包。闭包就是在构造函数体内定义另外的函数座位们表对象的方法函数,而这个对象的方...原创 2018-09-25 15:45:33 · 163 阅读 · 0 评论 -
个体微信小程序开发
微信公众平台-开发文档个体小程序系列记录原创 2018-09-12 14:32:54 · 206 阅读 · 0 评论 -
网络状态码
100 客户端应当继续发送请求。 这个临时响应是用来通知客户端它的部分请求已经被服务器接收,且仍未被拒绝。 客户端应当继续发送请求的剩余部分,或者如果请求已经完成,忽略这个响应。 服务器必须在请求完成后向客户端发送一个最终响应。101 服务器已经理解了客户端的请求,并将通过Upgrade 消息头通知客户端采用不同的协议来完成这个请求。原创 2017-12-28 16:30:02 · 358 阅读 · 0 评论 -
技术基础4. &&【逻辑 与 】
操作符:逻辑 与 (&&)原创 2017-12-08 19:35:42 · 250 阅读 · 0 评论 -
技术基础3. cookie
cookie原创 2017-12-03 21:17:45 · 211 阅读 · 0 评论 -
开发基础2. 拍平多维数组
拍平多维数组原创 2017-11-30 21:37:23 · 943 阅读 · 0 评论 -
技术基础2. for / forEach / for...in... / for...of...区别
let arr=[1,2,3,4]; arr.b=100; let obj={name:'zf',age:8}; //for 为编程式 , 可看出如何实现 for(let i=0;i<arr.length;i++){ console.log(arr[i]) } //1,2,3,4 //forEach为声明式 , 不关心如何实现 , 不支原创 2017-11-08 00:18:39 · 282 阅读 · 0 评论 -
技术基础1. es6新特性
es6原创 2017-11-07 21:52:11 · 871 阅读 · 0 评论 -
开发基础1. rem布局
rem(font size of the root element) 指相对于根元素的字体大小的单位。简单的说它就是一个相对单位。<script> ~(function(n){ document.documentElement.style.fontSize= document.documentElement.clientWidth/n*100+'px';原创 2017-11-06 10:54:24 · 261 阅读 · 0 评论