03 2013 档案

摘要:正如当年为了统一 JavaScript 语言标准,人们制定了 ECMAScript 规范一样,如今为了统一 JavaScript 在浏览器之外的实现,CommonJS 诞生了。CommonJS 试图定义一套普通应用程序使用的API,从而填补 JavaScript 标准库过于简单的不足。CommonJS 的终极目标是制定一个像 C++ 标准库一样的规范,使得基于 CommonJS API 的应用程序可以在不同的环境下运行,就像用 C++ 编写的应用程序可以使用不同的编译器和运行时函数库一样。为了保持中立,CommonJS 不参与标准库实现,其实现交给像 Node.js 之类的项目来完成。下图.. 阅读全文
posted @ 2013-03-15 17:20 金广国 阅读(294) 评论(0) 推荐(0)
摘要:前言: 早就听说有用于本地编程的JavaScript框架,但总觉得是小打小闹不成气候,也没有什么实用价值。但自从CommonJS和NodeJS两个项目的出现,JavaScript作为本地编程语言的这种特殊应用形式,才开始进入进入大众的视野。 本文翻译CommonJS首页的介绍,说明什么是CommonJS。 另外随着并行计算的普及,像JavaScript这种函数式语言,由于其固有的易于进行并行计算的特性,将有更广阔的应用前景。 正文: JavaScript是一个强大面向对象语言,它有很多快速高效的解释器。官方JavaScript标准定义的API是为了构建基于浏览器的应用程序。然而,并没... 阅读全文
posted @ 2013-03-15 16:02 金广国 阅读(249) 评论(0) 推荐(0)
摘要:一: 原始情况 首先大家看看如下的代码: 估计90%的程序员都会把js文件放在head中,但是大家有没有深究过呢?很多浏览器都会使用单一的线程来做“界面UI的更新”和“JS脚本的处理“,也就是当执行引擎遇到” 下面的图也展示了1.jpg和三个js几乎并行下载和执行。时间由上面的“469ms+”缩小到“326ms”。 三:第2步优化 看上面的“瀑布图”,估计大家也看出来了,三个js文件进行了三次“Get”请求,大家都知道Get请求是需要带http头的, 所以说需要耗费时间,那么我们采... 阅读全文
posted @ 2013-03-15 15:06 金广国 阅读(142) 评论(0) 推荐(0)
摘要:随着互联网的飞速发展,前端开发越来越复杂。本文将从实际项目中遇到的问题出发,讲述模块化能解决哪些问题,以及如何使用 SeaJS 进行前端的模块化开发。 一、恼人的命名冲突 我们从一个简单的习惯出发。我做项目时,常常会将一些通用的、底层的功能抽象出来,独立成一个个函数,比如——function each(arr) { // 实现代码}function log(str) { // 实现代码} 并像模像样地把这些函数统一放在 util.js 里。需要用到时,引入该文件就行。这一切工作得很好,同事也很感激我提供了这么便利的工具包。 直到团队越来越大,开始有人抱怨。 小杨:我想定义一个... 阅读全文
posted @ 2013-03-15 14:09 金广国 阅读(269) 评论(0) 推荐(0)
摘要:且看这样一段HTML片段:Jim 这是前端代码全部耦合在一起的例子,下面对它进行MVC解耦。 第一步解耦,把View层分离出来:Jim 同时,引入一表示name的css。 第二步解耦,把Controller分离出来:Jim 把点击的行为逻辑转移到一个方法上了。 第三步解耦,把Controller和Model的关联关系剥离出来:Jim 借助JQuery,增加绑定方法,关联div和点击行为:$("#name").click( function(){ alert(""); }); 在后端,M和C这样的关联关系有多种实现方式,比如xml配置文件,比如注解... 阅读全文
posted @ 2013-03-06 15:15 金广国 阅读(957) 评论(0) 推荐(0)