JavaScript

jQuer的read函数源码解读

如果你对$(document).ready()的理解也仅限于在DOM Tree绘制完毕后触发,那么,你也应该好好研究下ready的工作原理,因为,TST的面试官问过我这个问题。。。一、关于jQueryjQuery是一个伟大的脚本库,由John Resig在 2006年1月的BarCamp NYC上释出第一个版本。你可以在 http://jquery.com/ 下载到最新版本

【译】JavaScript 中的命名空间

原文链接: Namespacing in JavaScript译文原链: 【译】JavaScript 中的命名空间全局变量应该由有系统范围相关性的对象们保留,并且它们的命名应该避免含糊并尽量减少命名冲突的风险。在实践中,这意味着你应该避免创建全局对象,除非它们是绝对必须的。不过,恩,这些你早都知道了……所以你对此是怎么做的?传统方法告诉我们,最好的消除全局策略是创建少数作为

也谈 webpack 及其开发模式

从模块化谈起近年来,js开发涌现出了诸多模块化解决方案,例如以在浏览器环境之外(服务端)构建 JavaScript 生态系统为目标而产生的CommonJS规范,从CommonJS社区中独立出来的AMD规范(异步模块定义),还有国人制定的CMD规范等。随着遵循AMD规范的RequireJS的流行,AMD规范在前端界已被广泛认同。后来,随着npm社区的逐渐壮大,CommonJS

ES6的Iterator对象详解

Iterator实现原理创建一个指针对象,指向当前数据结构的起始位置。也就是说,遍历器对象本质上,就是一个指针对象。第一次调用指针对象的next方法,可以将指针指向数据结构的第一个成员。第二次调用指针对象的next方法,指针就指向数据结构的第二个成员。不断调用指针对象的next方法,直到它指向数据结构的结束位置。每一次调用next方法,都会返回数据结构的当前成员的信息。具体

开发工具心得:如何 10 倍提高你的 Webpack 构建效率

0. 前言图1:ES6 + Webpack + React + Babelwebpack 是个好东西,和 NPM 搭配起来使用管理模块实在非常方便。而 Babel 更是神一般的存在,让我们在这个浏览器尚未全面普及 ES6 语法的时代可以先一步体验到新的语法带来的便利和效率上的提升。在 React 项目架构中这两个东西基本成为了标配,但 commonjs 的模块必须在使用前

JavaScript检测原始值、引用值、属性

上周写过一篇读书笔记《编写可维护的JavaScript》之编程实践,其中 第8章 避免『空比较』是博主在工作中遇坑较多的雷区,所以特此把该章节重新整理分享,希望大家不再坑队友(>﹏<)。在 JavaScript 中,我们常常会看到这样的代码:变量与null的比较(这种用法很有问题),用来判断变量是否被赋予了一个合理的值。比如:var Controller = {proces

为Flask编写1个百度编辑器的插件

原文地址:http://52sox.com/write-a-flask-plugin-for-ueditor/近期项目开发中,隔壁那个搞python的哥们竟然笑着对我说,希望我能给他写1个百度编辑器的demo,方便他直接调用。当时真的受宠若惊,这哥们实力不在我之下,只能答应它了。上网搜索下,有1篇文章Flask项目集成富文本编辑器UEditor实现图片上传功能已经有1个现成

refle中Action.do...();的事件执行顺序

场景 page文件里: mixins:[Reflux.connect(Store)], getInitialState: function () {Action.getInitData(); },store文件里: var Store = Reflux.createStore({listenables: [Action],data: {},onGetInitData : f

关于DOM2级事件的事件捕获和事件冒泡

花一天时间研究完了DOM2级事件中addEventListener的执行机制,作为开山第一帖,和大家讲讲多个addEventListener同时添加时的执行先后规律:如图,大家都知道,W3c的DOM事件触发分为三个阶段:①、事件捕获阶段,即由最顶层元素(一般是从window元素开始,有的浏览器是从document开始,至于其中的差别我稍后会更新)开始,逐次进入dom内部,最