代码重构

2017-05-21
阅读 2 分钟
1.6k
说明 第一种 方式通过设置flag的方式,代码不易读,而重构后的代码简介明了。其次如果return后还要一些逻辑要执行,可以把要执行的逻辑封装成函数放到return后面。

javaScript代码优化

2017-05-13
阅读 3 分钟
2.7k
在java或c++静态语言中,类的信息是确定的,所以每个对象包含哪些成员和成员在对象中偏移量在编译阶段确定,基地址和偏移地址就可以快速的访问对象内部信息。

webpack&&loader

2017-05-12
阅读 3 分钟
1.9k
webpack对于我来说,应用场景主要是,编译打包我通过模块化组织书写的文件,用其提供的各种loader可以让我在js中模块化的加载、管理各种格式resource,以及其附属生态圈各种plugin进行功能拓展(例如常用的CommonsChunkPlugin、UglifyjsWebpackPlugin等等), webpack-dev-server做热加载等等。具体一些使用配置介绍,可以参考我...

qcon行node总结

2017-05-06
阅读 7 分钟
1.8k
front to back 业务上 : front 面向展示 交互 ; back 功能 服务 数据一致性等等 环境 : front browser webview 单机; back 集群 高并发 思想差异 : front 快速开发 快速渲染 视觉效果 等等 ; back 服务稳定,性能,内存泄漏等等 V8 内存的简介 首先通过memoryUsage可以查看node进程的使用情况,具体介绍如下 {代码...} 针对...

订阅发布和vue双向绑定

2017-04-23
阅读 2 分钟
5.5k
vue的核心是mvvm,vue2又增加了虚拟dom。我的研究方向也是以这两个为主。本文主要讲述mvvm,至于vdom(主要研究方向是整个思想和diff算法)下次再论述。

安全->XSS

2017-04-15
阅读 1 分钟
2k
平时工作中常接触到XSS、CSRF、SQL注入等等这些安全领域的知识。接下来准备重温整理一些概念,以便加深自己的理解,通过结合具体的实例(基于node应用)。

koa2源码分析

2017-03-26
阅读 4 分钟
5.3k
koa1核心基于generator,但是严重依赖co的包装。koa2完全不需要,基于async(其实质是generator的语法糖调用包装),在node v7 下可直接运行。关于async和generator的语法,本文不做赘述。下面先创建一个koa实例,然后基于入口一步步分析。

发布订阅模式

2017-03-18
阅读 3 分钟
4k
发布订阅模式,又叫做观察者模式,描述对象间的一对多依赖关系。我举几个常见例子以便理解:报纸或杂志发布订阅、js编程中的事件模型、手机流量超限制提醒等等

webpack2-update之路

2017-03-14
阅读 3 分钟
2.8k
重要特性tree-shaking(另一个就是rollup),基于es6静态模块分析(仅支持标准写法)。大致原理就是通过分析js的AST,依赖检查等步骤,建立一个'对象依赖树',从而将被使用和被引用的的对象抽出,合成最小可用程序集。

Genrator浅析

2017-03-12
阅读 2 分钟
1.6k
在js中的具体表现形式就是function*。通过generator可以做到按需获取。怎么理解,比如我们想获取一定数量的fibonacci,可以通过下面这种方式;

迭代器模式

2017-03-01
阅读 3 分钟
1.3k
迭代器模式(Iterator),提供一种方法顺序访问一个聚合对象中的各种元素,而又不暴露该对象的内部表示。 关于这个定义的个人理解,聚合对象是指可遍历的对象,一般具有的特征就是可用下标访问且具有length属性。 不暴露该对象的内部表示是指在通过迭代器访问聚合中元素时,迭代器访问接口统一,不用关心对象内部细节。 迭代...

策略模式

2017-02-27
阅读 1 分钟
1.5k
在程序设计中,要实现一个功能方案有多种,比如压缩文件程序,既可以选择zip压缩算法,也可以选择gzip算法。上面这个应用场景中抽象出来其实就是策略模式。

单例模式

2017-02-26
阅读 1 分钟
1.2k
单例模式的定义:保证一个类仅有一个实例,并提供一个访问它的全局访问点。 所以根据以上以定义得出其实一个普通var全局对象就可以当成一个单利模式来使用, 但是很容易造成命名空间污染,一不小心就会冲突,随时有被覆盖的可能,特别是团队开发协作中。所以不建议用。 为了减少冲突可以自定义一个命名空间或者像jquery一样使...

代理模式

2017-02-26
阅读 2 分钟
1.3k
代理模式的定义:为其他对象提供一种代理以控制对这个对象的访问。在某些情况下,一个对象不适合或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。

javaScript中的函数应用

2017-02-18
阅读 2 分钟
1.5k
概要 js当中的函数站在不同的角度有不同的分类和应用,本文站在高阶函数的角度来讨论js当中函数的应用场景。 首先明确高阶函数定义: 函数可以作为参数被传递 函数可以作为返回值输出 应用场景 函数作为参数被传递 这种情况其实是比较常见的,日常用的挺多的,例如ajax请求成功之后的callback函数、各种插件,框架当中的钩子...

JavaScript面向对象的三大特征

2017-02-11
阅读 2 分钟
5k
概述 本来打算写设计模式的,在谈论js的设计模式之前先说一下js的面向对象,因为很多设计模式的实现都掺杂着面向对象的思想,所以先做一下前期铺垫。 js我们都知道是一种动态类型脚本型语言,变量类型无法保证,所以我们可以尝试调用任意对象的任意方法,不用考虑它原本是否被设计为拥有该方法。 什么是面向对象本文不在论述...

handsontable初步认知

2017-02-11
阅读 2 分钟
9k
除了核心表格渲染(实质就是js操作table,计算元素位置,自定义绑定事件处理),大部分功能以插件提供。可以灵活构建插拔,自定义添加新功能插件。

ajax交互post数据格式问题

2017-02-09
阅读 1 分钟
4k
前后端数据交互主要有两种方式:get和post。其他restful风格的请求数据格式本质上都可以转为这两种形式,本文暂不讨论。网址输入请求,超链接访问等都是get请求,请求数据格式固定单一,都是附加在url后面,中文和非ASII字符需要和后端协定统一编码,其他情况下如果参数形式拼接正确一般不会出问题。