• 用Flux的思想写前端

    用Flux的思想写前端 最近用React开发了公司的一个产品,写完之后发现代码特别乱且较难维护,早就得知Facebook设计了一个新的开发模式——Flux,今天就实践一下Flux的开发模式,体会体会久违的新鲜感。 Flux Flux是一个全新的开发模式,与传统的MVC不同,Flux的设计中心是单向数据流。Flux有三个主要部分:Stores, Views(React组件), Dis

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

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

  • 近期移动端开发经验整理

    近期移动端开发经验整理 zepto的tap事件 tap的事件由于是委托自body,所以有很大诟病,很容易在延迟之后造成“点透”现象,可以采用fastclick代替。 React onTouchEnd问题 react上一个元素onTouchEnd点击之后alert弹出框,有可能会触发两次。 iOS的position:fixed错误 经过验证,此问题在多个版本中都存在,尤其是UIWeb

  • 「无限加载更多」带来的性能瓶颈

    「无限加载更多」带来的性能瓶颈 引子 相信很多前端都遇到过这样的需求,在一个页面中预加载一个列表数据,当浏览器滚动到底部之后加载更多数据,然后循环往复这个操作。不知道大家有没有想过这个问题,设备的内存是有限的,而操作系统分配给每一个程序的内存资源也是有限制的,假如我们一直把这个列表加载下去,会出现什么样的问题? OK,我遇到问题了 其实我发现这个加载更多带来的性能瓶颈,并不是从加载更多

  • 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方法。 先说说最常用

  • 我的切图方法最佳实践

    我的切图方法最佳实践 一个通常的前端开发工作,基本都是这样一个流程: 从产品和设计手中取得设计稿 写静态页面与前端交互,也就是俗称的切图 编写前端的JS交互特效 将静态页面交给后端人员套模板(最近还流行前后端分离,套模板也交给前端来搞,前端除了处理页面之外,还负责http请求层的开发,后端只负责数据接口开发,不管展现,但这个模式目前普及度还不高,因此咱们不讨论这个) 联调模板,

  • `__defineGetter__` 引发的思考

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

  • 各种 License

    各种 License 最近想搞一个个人小项目,比较在意版权问题,平时在github上经常看到其他人的项目有各种License,却一直没明白过,今天查阅了一些软件License方面的资料,在此记录一下。 什么是License? License并不意味着你对你的产品放弃了著作权,一旦你使用了License,则表示你授权给他人以约定的形式来使用你的产品。 几种常用License GPL