javascript
Slice-ddd
这个作者很懒,什么都没留下…
展开
-
virtual dom
最近研究 virtual dom 死了大概十几亿脑细胞,原创 2021-01-06 10:10:07 · 145 阅读 · 0 评论 -
从svg转base64 再到字符串编码
昨天研究 btoa 时,发现调用之前都会再执行一个转码的api (注:btoa 是转 base64 时用的,还有个跟它相反的 atob)window.btoa(unescape(encodeURIComponent(svgStr)))我测试了一个例子,发现 unescape(encodeURIComponent(svgStr)) 貌似会对字符串里面的中文进行转码中文字符转Unicode码function toUnicode(str){ return str.replace(/[^\u00原创 2020-12-22 09:37:50 · 3003 阅读 · 2 评论 -
自动触发元素的点击事件
const e = document.createEvent(type) // type --> "UIEvents", "MouseEvents", "MutationEvents", and "HTMLEvents". // 如果是点击事件,则 type --> MouseEventse.init(event, )原创 2020-11-19 17:04:14 · 1066 阅读 · 0 评论 -
数组里面的对象根据key值分类
对数组里面的对象根据一定的规则进行分类最近碰到一个需求,很简单,对数组里面的对象进行分类,这个需求是根据对象的某个对象进行分类的,例如这样:[ { "category": "测试流程1", "title": "1112", }, { "category": "测试流程2", "title": "ddd", }, ...原创 2020-03-31 16:16:51 · 1501 阅读 · 0 评论 -
获取字符串中对称的子串
function getsymStr(str) { if(str.length === 1) { return str; } var result = []; var l = str.length; var defaultMostStr = '暂无对称子串'; var isSym = function (str)...原创 2019-03-10 22:55:31 · 1032 阅读 · 0 评论 -
Date.now 与 new Date().getTime() 的区别
Date.now 与 new Date().getTime() 都可以获取时间戳,但是实际上性能是不一样的(虽然差别不大,但是也算是一种性能的追求),可以做个测试 console.time('+new Date()') for(var i = 0; i < 650000; i++) { var o = + new Date() } console.timeEnd('...原创 2019-02-28 11:36:42 · 17917 阅读 · 0 评论 -
Function.prototype.bind
兼容 Function.prototype.bindif(!Function.prototype.bind) { Function.prototype.bind = function(context) { var self = this; return function() { return self.apply(context,...原创 2018-08-06 17:39:39 · 132 阅读 · 0 评论 -
js 数组的深浅拷贝
数组的浅拷贝与深拷贝 浅拷贝只复制第一层,深拷贝全部复制浅拷贝:// es6const arr1 = [1, 2, 3, [4, 5, 6]];const [...arr2] = arr1;// es5 var arr1 = [1, 2, 3, [4, 5, 6]];var arr2 = arr1.slice();arr2.push(7);arr2[3].push(7);arr1原创 2017-12-01 11:29:31 · 319 阅读 · 0 评论 -
new Date(date).getTime()兼容性
获取两个日期之前的天数需要用到getTime()方法,例如new Date(endDate).getTime() - new Date(startDate).getTime() /*将结果除以60*60*24*1000就可获取两个日期之间的天数,但是这个new Date(date)这个date格式是有兼容问题的,ie8及以上可以使用'-'来分割年月日,但是谷歌上会比其他浏览器(firefox、i原创 2017-06-13 12:08:13 · 3383 阅读 · 0 评论 -
addEventListener(type, fn , true/false)绑定事件第三个参数作用以及利用事件的冒泡,实现事件委托
addEventListener( type , fn , true/false )原创 2017-05-02 11:26:41 · 10108 阅读 · 0 评论 -
window.postMessage跨页面通信
H5的的新特性 window.postMessage 可以支持不同的页面间通信。API如下:发送信息,window.postMessage( data , origin );//data代表的是发送是数据,origin用来限制访问来源,也可以用*代替window代表的是接收消息的窗口,接受信息,window.addEventListener('message',function(e){ var原创 2017-04-18 18:05:57 · 918 阅读 · 0 评论 -
Promise 、Async/Await的使用
Prosmise对像是es6的新特性,也是异步编程的解决方案。var promise = new Promise(function (resolve , reject) { var result = axios.get('../data.json'); if (result){ resolve(result) }else {原创 2017-03-13 17:26:30 · 463 阅读 · 0 评论