随笔分类 - javascript
摘要:js - 模块化 why 图中的代码写法,有独立的作用空间吗? 没有独立作用空间,容易出现命名冲突,造成全局污染,对于大型、复杂的项目来说会非常棘手 what 事实上模块化开发最终的目的是将程序划分成一个个小的结构; 这个结构中编写属于自己的逻辑代码,有自己的作用域,不会影响到其他的结构; 这个结构
阅读全文
摘要:js - 取消接口请求 axios - cancelToken 参考资料 axios axios 之cancelToken原理以及使用 axios取消接口请求 axios中断请求cancelToken use CancelToken.source 可以使用 CancelToken.source 工厂
阅读全文
摘要:js - 数组去重 参考 segmentfault ES6 Set(ES6中最常用) [...new Set(arr)] Array.from(new Set(arr)) function unique (arr) { return Array.from(new Set(arr)) } var ar
阅读全文
摘要:js - Date ie兼容 ie 不识别 - ie 11 ie 不识别 - console.log(moment().year()+'/'+(moment().month() + 1)+'/01 00:00:00',new Date(moment().year()+'/'+(moment().mo
阅读全文
摘要:js - clone 浅拷贝 深拷贝 浅拷贝 浅拷贝,指的是创建新的数据,这个数据有着原始数据属性值的一份精确拷贝 基本类型,拷贝的就是基本类型的值。 引用类型,拷贝的就是内存地址 即浅拷贝是拷贝一层,深层次的引用类型则共享内存地址 简单实现浅拷贝 function shallowClone(obj
阅读全文
摘要:js - 多层嵌套Object或Array快速判断undefined并选取 ?. 嵌套Object连续判断并选取子对象 a.b.c.d.e.f.g. ... 应用 获取 g 值 对 g 进行操作(赋值,遍历……) 传统方式 var obj={a:'test'} console.log(obj.a&&
阅读全文
摘要:js - deepClone deepClone /** * This is just a simple version of deep copy * Has a lot of edge cases bug * If you want to use a perfect deep copy, use
阅读全文
摘要:js - 对象递归合并merge deepAssign、merge function isObject(obj) { return Object.prototype.toString.call(obj) '[object Object]' } function isArray(arr) { retu
阅读全文
摘要:js - 禁止复制和粘贴、另存为 使右键和复制失效 方法1 <script language="Javascript"> document.oncontextmenu=new Function("event.returnValue=false"); document.onselectstart=ne
阅读全文
摘要:js - 编码解码 JavaScript 全局函数 escape、unescape (已弃用) 在 JavaScript 1.5 版中,不推荐使用 escape() 函数。请使用 encodeURI() 或 encodeURIComponent() 代替。 escape() 函数对字符串进行编码。
阅读全文
摘要:js - 正则表达式 - RegExp 参考文档 runoob w3school 正则表达式 w3school RegExp RegExp 对象 RegExp 对象表示正则表达式,它是对字符串执行模式匹配的强大工具。 正则表达式 构成搜索模式(search pattern)的字符序列。一种字符串匹配
阅读全文
摘要:js - 循环 遍历方法 跳出循环 循环 for for有三个表达式:①声明循环变量;②判断循环条件;③更新循环变量;三个表达式之间,用;分割, for循环三个表达式都可以省略,但是两个“;”缺一 不可。 for循环的执行特点:先判断再执行,与while相同 for循环三个表达式都可以有多部分组成,
阅读全文
摘要:vue - 自动化模块批处理 store 模块化引入 传统引入 import Vue from 'vue'; import Vuex from 'vuex'; import module1 from './modules/modules1'; import module2 from './modul
阅读全文
摘要:js - tofixed精度丢失问题 toFixed() 方法可把 Number 四舍五入为指定小数位数的数字。例如将数据Num保留2位小数,则表示为:toFixed(Num); 但是其四舍五入的规则与数学中的规则不同,使用的是银行家舍入规则, 银行家舍入:所谓银行家舍入法,其实质是一种四舍六入五取
阅读全文
摘要:js - 实现数组元素交换位置 /** 数组元素交换位置 @param {array} arr 数组 @param {number} index1 添加项目的位置 @param {number} index2 删除项目的位置 index1和index2分别是两个数组的索引值,即是两个要交换元素位置的
阅读全文
摘要:js - 流文件 图片流显示 let imgSrc = window.URL.createObjectURL(new Blob([res])) 流文件下载 // ie10+ let blob= new Blob([res]), name=row.theme_name+'.jpg' if (navig
阅读全文
摘要:我是如何用 Three.js 在三维世界建房子的(详细教程)
阅读全文
摘要:js-utils - fullscreen - 全屏 预览 blog intro 指定dom全屏,非整个页面全屏 效果 博客园代码块 不兼容ie 只是在页面窗口全屏,浏览器导航仍然显示 webkitRequestFullScreen 不兼容ie 显示器全屏,浏览器导航不显示 webkitReques
阅读全文
摘要:utils - setFontSize - 设置字体大小 intro 原理 使用 postcss-plugin-px2rem 将 px 转为rem,在根节点设置font-size notice webpack ie 兼容 babel 处理 node_modules 文件 rem 是基于html,不是
阅读全文
摘要:js-util - 获取浏览器、设备信息 utils function getExplore(){ var Sys = {}; var ua = navigator.userAgent.toLowerCase(); var s; (s = ua.match(/rv:([\d.]+)\) like g
阅读全文