摘要:
跟随代码的执行,在定义了require和define并赋值后,是将cordova所有模块一一注册,例如:define("cordova",function(require,exports,module){//工厂函数内部实现代码});这里需要注意的是,工厂函数在这个时候并没有实际执行,而只是定义,并作为一个参数传递给define函数。所有模块注册完之后,通过window.cordova = require('cordova');导入至全局环境。因为是注册后第一次导入,所以在执行require('cordova')时,modules[' 阅读全文
posted @ 2012-08-08 17:01
linjisong
阅读(1237)
评论(0)
推荐(0)
摘要:
先看源码: 1 // file: lib/scripts/require.js 2 var require,//导入函数,导入cordova库的内部已经注册的模块,第一次导入时,先创建模块 3 define; //注册函数,注册cordova的内部模块 4 5 // 通过一个立即调用的匿名函数,给require和define赋值 6 (function () { 7 var modules = {}; // 缓存所有的模块,初始化为一个空对象 8 9 function build(module) {//内部私有函数10 var factory ... 阅读全文
posted @ 2012-08-08 16:12
linjisong
阅读(1592)
评论(1)
推荐(1)
摘要:
开始分析cordova-2.0.0.js的源码结构,使用UE打开这个文件,按Ctrl+Add键将代码全部折叠,可以看到结构如下:/** 版权申明及注释部分*/;(function(){// 这里是cordova的内部代码})();1、一开始就是一个分号";",我们知道,分号在javascript中主要作用就是结束一个语句以及构成for循环的语法结构,那么在这里是什么作用呢?个人理解,由于javascript中语句结束的分号并不是强制使用的,在这里主要是为了规范,以间隔于程序中编写或导入的其它js脚本,也就是给其它js脚本一个明确的语句结束符。这里强烈建议,每一个js语句,都 阅读全文
posted @ 2012-08-08 12:54
linjisong
阅读(1897)
评论(3)
推荐(1)
摘要:
版本说明:本系列文章使用的源码版本为2.0.0,可以从http://www.phonegap.com/download下载,将下载的文件解压缩,找到phonegap-phonegap-ff91e6e\lib\android|cordova-2.0.0.js(内部版本号ff91e6e可能会有不同),这就是源码分析中的主角。工具:任何一款具有js语法高亮和折叠的工具,我阅读源码使用的是UE和Sublime Text2,可以从http://www.sublimetext.com/下载SubLime Text2,这款软件可以无限期免费试用,可以参考异次元上的介绍文章http://www.iplayso 阅读全文
posted @ 2012-08-08 11:15
linjisong
阅读(1703)
评论(0)
推荐(2)

浙公网安备 33010602011771号