摘要:函数式编程的历史已经很悠久了,但是最近几年却频繁的出现在大众的视野,很多不支持函数式编程的语言也在积极加入闭包,匿名函数等非常典型的函数式编程特性。大量的前端框架也标榜自己使用了函数式编程的特性,好像一旦跟函数式编程沾边,就很高大上一样,而且还有一些专门针对函数式编程的框架和库,比如:RxJS、cycleJS、ramdaJS、lodashJS、underscoreJS等。函数式编程变得越来越流行,掌握这种编程范式对书写高质量和易于维护的代码都大有好处,所以我们有必要掌握它。 阅读全文
posted @ 2017-11-21 12:21 breezefeng 阅读 (21623) 评论 (0) 编辑
摘要:关于vue.js vue.js是一套构建用户界面的 轻型的渐进式前端框架。它的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件。使用vue可以给你的开发带来极致的编程体验。 关于vue-cli Vue-cli是vue官方提供的一个命令行工具(vue-cli),可用于快速搭建大型单页应用。该工具提供开箱即用的构建工具配置,带来现代化的前端开发流程。只需一分钟即可启动带热重载、保存时静态检查以及可用于生产环境的构建配置的项目。 阅读全文
posted @ 2016-10-20 19:19 breezefeng 阅读 (76764) 评论 (38) 编辑
摘要:git命令大全 阅读全文
posted @ 2016-05-26 13:02 breezefeng 阅读 (484) 评论 (0) 编辑
摘要:gulp是前端开发过程中一种基于流的代码构建工具,是自动化项目的构建利器;它不仅能对网站资源进行优化,而且在开发过程中很多重复的任务能够使用正确的工具自动完成;使用它,不仅可以很愉快的编写代码,而且大大提高我们的工作效率。 gulp是基于Nodejs的自动任务运行器, 它能自动化地完成 javascript、coffee、sass、less、html/image、css 等文件的测试、检查、合并、压缩、格式化、浏览器自动刷新、部署文件生成,并监听文件在改动后重复指定的这些步骤。在实现上,她借鉴了Unix操作系统的管道(pipe)思想,前一级的输出,直接变成后一级的输入,使得在操作上非常简单。通过本文,我们将学习如何使用Gulp来改变开发流程,从而使开发更加快速高效。 阅读全文
posted @ 2016-03-29 16:22 breezefeng 阅读 (7967) 评论 (0) 编辑
摘要:在运营活动开发中,因为工作的重复性很大,同时往往开发时间短,某些情况下也会非常紧急,导致了活动开发时间被大大压缩,同时有些活动逻辑复杂,数据或者状态变更都需要手动渲染,容易出错,正是因为这些问题的存在,所以才有了MV*框架的诞生,比如大名鼎鼎的angularJS。今天就跟大家讲讲国产的MVVM框架avalonJS是如何快速进行开发的,同时大家也可以对比石器时代的开发模式(jquery或者zepto)与mv*模式的区别。 阅读全文
posted @ 2015-12-26 08:01 breezefeng 阅读 (4037) 评论 (5) 编辑
摘要:本文会在教你怎么用 300~400 行代码实现一个基本的 Virtual DOM 算法,并且尝试尽量把 Virtual DOM 的算法思路阐述清楚。希望在阅读本文后,能让你深入理解 Virtual DOM 算法,给你现有前端的编程提供一些新的思考。 阅读全文
posted @ 2015-12-02 14:38 breezefeng 阅读 (1458) 评论 (0) 编辑
摘要:MainData仿Backbone Model式 数据模型记录器 主要思想:将 数据记录处理 和 因为数据变化而产生的页面渲染 两者解耦, 让页面元素可以与数据进行关联绑定,杜绝因为遗忘或是逻辑复杂导致的“页面展现与数据不符”现象。同时能更容易地解决大型页面的开发难题。未来还可用于解决多个页面间数据同步困难的难题 阅读全文
posted @ 2015-10-10 14:25 breezefeng 阅读 (482) 评论 (0) 编辑
摘要:概述 首先啦,我不认识mock.js的作者,带着需求找到mock.js让我觉得很惊艳。 相对于其他同类的框架的实现,mock.js超出了我的意料。 基于 数据模板 生成模拟数据。 基于 HTML模板 生成模拟数据。 拦截并模拟 ajax 请求。 是的,mock.js只做上述的几件事,但做的足够出色。 阅读全文
posted @ 2015-06-21 02:34 breezefeng 阅读 (7980) 评论 (0) 编辑
摘要:事件模块Backbone.Events在Backbone中占有十分重要的位置,其他模块Model,Collection,View所有事件模块都依赖它。通过继承Events的方法来实现事件的管理,可以说,它是Backbone的核心组成部分。 此外,事件模块的所有方法都挂在了全局的Backbone上,如果你的代码中需要用到自定义事件(实现观察者模式),可以直接使用它。 所以很有必要一起来研究下Backbone.Events的源码,一来学习Backbone事件模块优秀的写法和思想,二来可以更好的使用Backbone事件模块以及问题定位。 阅读全文
posted @ 2014-11-09 17:52 breezefeng 阅读 (875) 评论 (0) 编辑
摘要:事件模块Backbone.Events在Backbone中占有十分重要的位置,其他模块Model,Collection,View所有事件模块都依赖它。通过继承Events的方法来实现事件的管理,可以说,它是Backbone的核心组成部分。 此外,事件模块的所有方法都挂在了全局的Backbone上,如果你的代码中需要用到自定义事件(实现观察者模式),可以直接使用它。 阅读全文
posted @ 2014-11-09 10:59 breezefeng 阅读 (3261) 评论 (1) 编辑
摘要:最近在做公司内部的运营管理系统,因为与日历密切相关,同时无需触发条件直接显示在页面上,所以针对这样的功能场景,我就用avalon快速实现了一个简易日历,毕竟也是第一次造日历这种轮子,所以这里记录下我当时的一些思路,一来做一些技术总结,二来也是给像我这样第一次做日历的前端工程师一些参考。 阅读全文
posted @ 2014-11-02 16:54 breezefeng 阅读 (3093) 评论 (7) 编辑
摘要:接触avalon差不多有一年时间了,当时是看前端大牛司徒正美的博客才了解到还有这么一个高大上的玩意,然后就加入了avalon的讨论群。从群里零零散散的了解了avalon的一些特性,感觉很强大,感觉思想比较超前,连jquery也成了他们的吐槽对象。司徒正美鼓吹使用avalon代码量比使用jquery至少少一半,不用操作DOM,更易维护,完全只需要操作Model数据层,界面会自动更新,当时听到这些概念的时候我也会思考某些功能不用jquery实现转而使用avalon实现的话怎么实现,当时还是有很多疑惑,觉得使用惯了jquery突然不使用的话都不知道怎么做开发了。当时也专门看过avalon的入门教程,由于在项目中用得少,很快就忘了。 阅读全文
posted @ 2014-10-17 18:01 breezefeng 阅读 (5806) 评论 (19) 编辑
摘要:这个bug出现在一年前,当时自己大学还没毕业,刚刚进入一家公司实习。那个时候还没有用seajs或者requirejs那样的模块化管理的库,也没有用一个自执行的函数将要执行的代码包裹起来,于是bug就在这样的一个场景下诞生了。当时自己定位了比较久,也不知道status是window下的一个属性,所以请了高手帮忙定位,高手也是定位了半天才定位出来,只是凑巧将status换了一个名字就正常了,后来我问高手原因,他当时也答不出来,后来就一直没管它了,也忘记了。就在前几天,群里有人在讨论一些bug以及要注意的一些坑,我突然想起了一年前自己遇到过的坑,于是提了出来,在各位高手的讨论下终于搞懂了这个bug出现的原因已经原理,于是记录下,方便那些跟我一样做开发的同学能够绕过这些坑,少走弯路。 阅读全文
posted @ 2014-09-25 17:55 breezefeng 阅读 (1472) 评论 (6) 编辑
摘要:backbone.js珍藏版,方便一次阅读! 阅读全文
posted @ 2014-09-14 22:12 breezefeng 阅读 (3292) 评论 (0) 编辑
摘要:直接贴代码: /** * 迷你版的deferred */ function Deferred(func) { if (this instanceof Deferred === false) { return new Deferred(func) } var tuple = []; var promise = { resolve: function () { var t; while (t = tuple.shift()) { t.apply(null, arguments); } }, then: function (n) { return tuple.push(n), this; } } 阅读全文
posted @ 2014-09-14 13:28 breezefeng 阅读 (184) 评论 (0) 编辑