摘要:
防抖 防抖技术即是可以把多个顺序地调用合并成一次,是在停止操作的一定时间内,规定事件才被触发一次。 通俗一点来说,看看下面这个简化的例子: 大概功能就是如果 250ms 内没有连续触发两次 scroll 事件,那么才会触发我们真正想在 scroll 事件中触发的函数。 节流(Throttling) 阅读全文
摘要:
问题重现 需求是要获取一个车型列表,并且输出到页面上按年份排序,故而接口提供的对象简化如下 let obj = { '2018': { modelCode: "204313", modelName: "2018款 Vanquish 6.0L S Coupe" }, '2017': { modelCo 阅读全文
摘要:
摘自: "JavaScript 函数式编程(一)" 个人体验:我组织代码喜欢用类,但对于某些逻辑比如说数据加工,更喜欢使用纯函数去做,因其安全无副作用。 概念比对 面向对象把所有操作和数据都封装在对象内,通过接受消息做相应的操作。比如,对象 Kitty,它们可以接受“打招呼”的消息,然后做相应的动作 阅读全文
摘要:
XMLHttpRequest 版本 axios 版本 node 中使用 urllib 阅读全文
摘要:
&(按位与) ^(按位异或) ~(按位非) 阅读全文
摘要:
想得到format后的时间?现在不用再get年月日时分秒了,三步搞定,貌似有缺陷,如果是下午的小时得到的不大对。 日常工作中还是推荐 moment.js,不过 moment 可能会遇到 ts 的麻烦。 当然也有全面一些的函数 阅读全文
摘要:
var generateRandomAlphaNum = function (len) { var rdmString = ""; for (; rdmString.length < len; rdmString += Math.random().toString(36).substr(2)); r 阅读全文
摘要:
```js export function cookie(cookieName, cookieValue, day) { function readCookie (name: string) { const reg = new RegExp( ); const matched = document. 阅读全文
摘要:
```js function parseURL (url) { var a = document.createElement('a'); a.href = url; return { source: url, protocol: a.protocol.replace(':',''), host: a.hostname, port: a.port, query: a.search, params: 阅读全文
摘要:
promise A+ 规范简述 一个promise必须有3个状态,pending,fulfilled(resolved),rejected当处于pending状态的时候,可以转移到fulfilled(resolved)或者rejected状态。当处于fulfilled(resolved)状态或者re 阅读全文
摘要:
简介 javascript的变量类型分为原始类型和引用类型。 原始类型有6种, 注意多了 Symbol Number String Boolean Null Undefined Symbol 引用类型包括 Function Array Date Object RegExp 而检测这些类型的变量有3种 阅读全文
摘要:
单例模式 工厂模式 发布/订阅者模式 手写 EventEmitter 装饰器模式 写 react 的时候经常会遇到,本质上它就是个包装函数,主要用于多个不同类之间共享或者扩展一些方法或者行为。 值得一提的是,装饰器居然还在 "tc39 的 stage 2" 阶段。 所以要用的话需要加 babel p 阅读全文
摘要:
代码 使用 阅读全文
摘要:
Stage 0: strawman——最初想法的提交。 Stage 1: proposal(提案)——由TC39至少一名成员倡导的正式提案文件,该文件包括API事例。 Stage 2: draft(草案)——功能规范的初始版本,该版本包含功能规范的两个实验实现。 Stage 3: candidate 阅读全文
摘要:
字符编码基础 unicode unicode是一种字符集,源于一个很简单的想法:将全世界所有的字符包含在一个集合里,计算机只要支持这一个字符集,就能显示所有的字符,再也不会有乱码。 而Unicode只规定了每个字符的码点,到底用什么样的字节序表示这个码点,就涉及到编码方法。 UTF 32 与 UTF 阅读全文
摘要:
简介 关于键盘事件,分为三种,其中keydown事件发生在键盘的键被按下的时候,接下来触发keypress事件,最后在按键被释放时触发keyup事件。 用法如下 特殊按键如PrScrn键是不会被捕获到的,其他的键盘事件请注意: keydown、keyup事件 keydown触发后,不一定立即触发ke 阅读全文
摘要:
摘录自javascript高级程序设计第三版第六章,6.3继承。 需要继承来自于超类的属性(考虑到有引用类型,如数组不希望被共用),和来自于超类原型的方法(考虑到多个对象使用同一个方法能节省内存开销),这就得使用借用构造模式( )来继承超类原型的方法,并且子类构造函数中使用原型链模式( )来继承超类 阅读全文
摘要:
当笔者刚进入 JS 的世界的时候,一直为它的灵活写法感到着迷,同时也有一些疑惑 希望当对象存在时,得到其属性,可以这么写 parent && parent.child,为什么这个返回的不是一个布尔值,正如 C 语言所表现的。 笔者翻阅 ES 5,得到 "ES5/表达式/二元逻辑运算符" 找到如下答案 阅读全文
摘要:
概述 ajax跨域方法有很多种。常用的有jsonp请求,xhr2,后台代理方式,基于iframe实现跨域。 jsonp请求 ajax 本身是不可以跨域的,通过产生一个 script 标签来实现跨域。因为 script 标签的 src 属性是没有跨域的限制的。 jquery 其实设置了 dataTyp 阅读全文
摘要:
摘自掘金-神三元-原生JS灵魂之问(下) V8 引擎如何进行垃圾内存的回收? JS 语言不像 C/C++, 让程序员自己去开辟或者释放内存,而是类似Java,采用自己的一套垃圾回收算法进行自动的内存管理。作为一名资深的前端工程师,对于JS内存回收的机制是需要非常清楚, 以便于在极端的环境下能够分析出 阅读全文