• 聊聊 node.js 中各种 dependency

    聊聊 node.js 中各种 dependency node 项目中常见 dependency,devDependency,peerDependency,平时开发的时候总是遇到,但就是没细了解过它们之间的异同,今天简单深入一下,记录下来。 首先看下方的图,package-a 的 dependency 是 package-b,package-b 的 devDependency 是 pac

  • 拥抱ES6,再谈ES5原型继承

    拥抱ES6,再谈ES5原型继承 初衷 最近,ES6被多次曝光在JS界内,ES6有很多新特性,这让笔者产生了学习的欲望,因为ES6是下一代的JavaScript,感觉会在2年之内迅速普及起来,因此笔者打算开始进行ES6的学习,那么先学哪个特性比较重要呢? 其实在任何系统或者业务的设计中,代码层面的设计都离不开面向对象和设计模式,因此类和继承就是首当其冲需要研究的范畴,ES6提供了简单的cl

  • React.js 要点

    React.js 要点 最近在公司的一个移动端WEB产品中使用了React这个框架(并不是React-Native),记录一下在开发过程中遇到的各种问题以及对应的解决方法,希望能对读者有所帮助。 React原则 React不多做介绍,就是Facebook的一个开源JS框架,专注的层面为View层,不包括数据访问层或者那种Hash路由(不过React有插件支持),与Angularjs,

  • JavaScript Array 整理 - 元素操作

    JavaScript Array 整理 - 元素操作 前篇整理了一些Array常用的遍历操作方法,今天再整理一下Array对象中针对元素操作的方法。 分别是: concat (组合数组) join(数组转字符串) pop(删除最后一个元素) shift(删除第一个元素) push(在数组尾部添加新元素) unshift(在数组头部添加新元素) slice (不改变数组本身

  • JavaScript Array 整理 - 遍历操作

    JavaScript Array 整理 - 遍历操作 今天看看基础,在前端开发中,Array的基础操作很是频繁多见,在ES5中有许多Array的新特性,但是对于我等中国的码农,尤其是PC前端狗整天就与IE678打交道,有事没事就套一套jQuery,对原生的Array操作肯定特别生疏,我也一样。在面试题中,对Array的操作也是热门题目,今天我就整理整理最常用的Array方法。 先说说最常用

  • `__defineGetter__` 引发的思考

    __defineGetter__ 引发的思考 问题 那天朋友分享了一个面试题,自己当时不会,代码如下: code 很简单,alert的结果是1。 但是题目却是另外一个说法,能不能通过r.m获取到u? 当时听到这个问题也凌乱了,压根就不知道啥意思,通过r.m获取到u? 实际上这个问题问的重点是当u不知道的时候,如何通过u[attribute]这种方式来获得u的自身。那么问题就来了,

  • JavaScript Promise 告别异步乱嵌套

    JavaScript Promise 告别异步乱嵌套 什么是Promise? 在说Promise之前,不得不说一下JavaScript的嵌套的回调函数 在JavaScript语言中,无论是写浏览器端的各种事件处理回调、ajax回调,还是写Node.js上的业务逻辑,不得不面对的问题就是各种回调函数。回调函数少了还好,一旦多了起来而且必须讲究执行顺序的话,回调函数开始嵌套,那代码的恶心程度

  • seajs, spm + grunt 自动模块化前端代码记录

    seajs, spm + grunt 自动模块化前端代码记录 Seajs是玉伯写的一个JavaScript模块化管理加载器,本人最近学习了一下Seajs的使用方法并总结了一套个人的使用规范也算是记录一下使用过程吧。 最重要的一点,seajs的路径加载规则 seajs的模块查找规则,是个非常值得记录的话题,seajs的创作团队自己也说seajs的模块加载是个万人坑,很容易糊涂。在这里,我不

  • 再谈浏览器事件

    再谈浏览器事件 事件绑定与事件获取 说起浏览器事件,就不得不说绑定事件的方式,或者说事件的处理。在现代浏览器与IE8及以下的浏览器中,事件绑定方式是不同的。 现代浏览器绑定事件: code 古老IE绑定事件(IE8及以下): code 而两者都支持DOM level0 绑定事件方式: code 一般想要在事件处理函数中获得当前的事件对象进行一系列判断与操作,那么在不同的浏览器

  • addEventListener与attachEvent

    addEventListener与attachEvent addEventListener(type, fn, capture) 这个方法是在现代浏览器中绑定事件所用的,除了 ie6/7/8之外都是支持的。参数的意思分别是: type :事件类型字符串,比如 'click' 'mouseover' fn :事件处理函数 capture :这个参数比