纯粹的 JavaScript 对象

最近在 EventEmitter3 源码 中看到了 Object.create(null),做一下考证。 传统的 JavaScript 对象 在 JavaScript 中,通常使用对象字面量语法来创建空对象。 var foo = {}; // create new object foo.bar = 'bar'; // string -> »

ESLint 使用入门

在团队协作中,为避免低级 Bug、产出风格统一的代码,会预先制定编码规范。使用 Lint 工具和代码风格检测工具,则可以辅助编码规范执行,有效控制代码质量。 在以前的项目中,我们选择 JSHint 和 JSCS 结合使用,WebStorm 等开发环境已经支持这些工具,使用起来很顺手。然而,最近使用 React JSX 语法时,却遇到了问题:JSHint »

ES6 箭头函数语法及词法作用域

ES6 引入了「箭头函数」(arrow function),以简化输入、节约时间。 但是,箭头函数不是用来取代 function 关键字的。如果掌握了 JavaScript 词法作用域、this 关键字、.call()/.apply()/.bind() 等原型方法,就比较容易理解箭头函数了。 语法 先看一下来自 MDN 的例子: // example »

使用 JavaScript 获取绝对 URL

JavaScript 开发中有时需要获取绝对 URL,图片可以使用 img.src 返回绝对路径,一些以字符串形式存储的 URL 的则处理起来会比较繁琐,比如: 以 / 或者不以 / 开头的; // 相对协议的; 以 ? 开头的; 以 # 开头的; …… 借助 a 元素可以很方便的解决这个问题: var getAbsoluteUrl = (function() { var »

鼠标滚轮事件

浏览器前端兼容问题无处不在…… // Firefox $('#elem').bind('DOMMouseScroll', function(e) { if (e.originalEvent.detail > 0) { // scroll down console.log('Down'); } else { // scroll up console.log('Up'); } // prevent »

JavaScript 中 "this" 的工作原理和一些坑

JavaScript 中,this 是一个相对难懂的特殊变量。因为它随处可用,不局限于面向对象编程中。本文介绍 this 的工作原理,以及使用中可能会遇到的坑,以总结出最佳编程实践。 为了方便理解 ,将 this 使用场景分为三类: 在函数内部: this 是一个隐含的参数。 在函数外部(顶级作用域中): this 在浏览器中指向全局对象;在 Node.jS »