
JS
叫我官人_
皮。。。。
展开
-
将普通的数组转换为父子结构
//将普通的数组转换为父子结构transformTozTreeFormat: function (sNodes) { var i, l; var r = []; var tmpMap = {}; for (i = 0, l = sNodes.length; i < l; i++) { tmpMap[sNodes[i].id] = sNodes[i]; } for (i = 0, l = sNodes.length; i < l; .原创 2020-06-01 14:36:14 · 681 阅读 · 0 评论 -
js节流与防抖,防止重复提交、防止频繁重复点击
一、节流、防止短时间多次提交操作现有一提交按钮<button id="submit">提交</button>点击后提交表单信息。但是经常会出现: 1.不小心点了多次,就提交了多次2.网络卡顿的时候网页没反应,用户频繁点击的情况// 即这种写法:var subBtn = document.getE...转载 2019-12-16 17:38:06 · 1818 阅读 · 0 评论 -
JS数组的交集、并集、差集
需求1有两个数组ary1,ary2实现去除ary2与ary1相同的元素打印 -->需求2获得ary1与ary2重复的元素打印 -->需求3去除ary1与ary2重复的元素打印 -->SetES6 提供了新的数据结构 Set。它类似于数组,但是成员的值都是唯一的,没有重复的值。...原创 2019-10-25 17:48:40 · 381 阅读 · 0 评论 -
判断两数组之间是否存在交集关系
/* * @Author: doinb * @Date: 2019-07-29 14:46:09 * @LastEditTime: 2019-08-02 14:52:52 *///判断两数组之间是否存在交集关系let arr1=[1,2,3] let arr2 = [4]let arr3 = [1,2] // 使用includes()、indexOf()// eg1: ar...原创 2019-08-02 14:56:23 · 5108 阅读 · 0 评论 -
ES6删除和过滤对象中部分属性
let student={ age: 20, name: '官人', sex: "男" } // func1: const param = (({name,sex}) => ({name, sex}))(student) console.log(param) // {name: "官人",sex...原创 2019-04-08 17:38:00 · 27061 阅读 · 0 评论 -
js遍历技巧和方法优化
使用 Array.includes 来处理多重条件// 条件语句function test(fruit) { if (fruit == 'apple' || fruit == 'strawberry') { console.log('red'); }}如果我们想要匹配更多的红色水果呢,比方说还有很多红色水果?我们是不是得用更多的 || 来扩展这条语句?function ...原创 2019-02-20 14:50:21 · 917 阅读 · 0 评论 -
修改数组对象的属性(key)名
例如:把如下data1的key名称修改成data2中的key名称data1: [ { appName: '应用1', capacity: 233456 }, { title: '应用2', key: 124535 }] data2: [ { name: '应用1', value: 233456 }, { name: '应用2', value: 124535 } ]方法: con...原创 2019-02-27 16:19:03 · 12965 阅读 · 0 评论 -
js对时间戳的转换
add0(m) {return m < 10 ? "0" + m : m;},format(shijianchuo) {//shijianchuo是整数,否则要parseInt转换var time = new Date(shijianchuo);var y = time.getFullYear();var m = time.getMonth() + 1;var...原创 2018-10-26 11:39:36 · 198 阅读 · 0 评论 -
js时间相关处理
计算时间差原理:getTime()方法方法定义: getTime() 方法可返回距 1970 年 1 月 1 日之间的毫秒数。通常我们计算时间差都是通过获取两个时间数据,然后分别使用getTime()方法返回与固定的1970 年 1 月 1 日的时间差,通过对返回毫秒数的差,换算成时间单位,得出两个时间的时间差。开始操作:首先你会有一串初始的时间数据,然后通过 new Date...原创 2018-09-05 16:33:29 · 534 阅读 · 0 评论 -
js一道面试题的艺术
for (var i = 0; i < 5; i++) { console.log(i);}“你说说这几行代码会输出什么?”当面试官在 Sublime 打出这几行代码时,我竟有点蒙蔽。蛤?这不是最简单的一个循环吗?是不是有陷阱啊,我思索一下,这好像和我看的那个闭包的题很像啊,这面试官是不是没写完啊?有毒啊。“应该是直接输出 0 到 4 吧...”,我弱弱的说到。“是...原创 2018-08-02 11:16:59 · 166 阅读 · 0 评论 -
画图解析JS执行过程(js进阶堆栈)
原创 2018-08-09 20:45:24 · 661 阅读 · 0 评论 -
Javascript动画库
在浏览网页寻找一个整洁的Javascript动画库时,我发现很多“recommended”的动画库一段时间都没有维护。经过一些研究,我收集了11个最好的库,在你的应用程序中使用。我还添加了一些,主要是非维护的,有用的库。使用UI组件时,您还可以使用Bit轻松地在不同应用程序之间共享这些组件,而不是复制粘贴它们,从不同项目进行更改并与其他项目协作。Bit - 使用代码组件共享和构建_Bi...转载 2018-07-31 14:32:46 · 1548 阅读 · 0 评论 -
37个JavaScript基本面试问题和解答
1、使用typeof bar ===“object”来确定bar是否是一个对象时有什么潜在的缺陷?这个陷阱如何避免?尽管typeof bar ===“object”是检查bar是否是对象的可靠方法,但JavaScript中令人惊讶的问题是null也被认为是一个对象!因此,对于大多数开发人员来说,下面的代码会将真实(而不是错误)记录到控制台:var bar = null;conso...原创 2018-07-31 14:21:39 · 338 阅读 · 0 评论 -
js执行的堆栈赋值实例详解(ES5)
1.js变量赋值分为:基本类型和引用类型。eg: (基本类型)var a= 6; b= a;console.log(b) ; // 6 -> 像这种直接将a的值赋值的过程也就是基本类型赋值.执行过程:eg: (引用类型赋值)-> 包含数组,对象, 方法的赋值过程var a=[1,2,3];b = a console.(b) // 这...原创 2018-07-23 10:45:00 · 581 阅读 · 0 评论