javascript动态加载与模块化开发 - UsingJS更新(2012-8-31)
了解UsingJS的实现原理 请移步:
UsingJS-0.5.0更新 - Using.Class模块更新
1、新建了一个变量[this._proto],通过此变量可在构造函数中直接访问prototype中的函数
2、更改了extend函数 由遍历改为原型继承方式
3、新增了instance函数 用来得到类的一个实例
4、新增了singleton函数 用来创建一个单例类 会影响在instance函数的返回值 且不可直接new构造函数 反之会抛出一个异常
5、修改为类添加命名空间为非必须的
=====================================================================
UsingJS-0.5.0更新
1、将所有非UsingJS核心相关文件都从之前的js文件夹移入usingmodules文件夹
并作为默认且推荐的新模块放入文件夹 这样using.config.js就不必根据项目文件结构不同而进行修改
2、加入了Using导包的快捷写法 如
Using("jquery"); Using("login"); Using.ready(function(){ Using.asyn(function(){ }); }); //可直接简写为 Using("jquery","login")();
3、不需要在当前页面引入所有需要的模块 可以在模块文件内载入需要的模块 如
假设在login.js中 需要引入using.class.js
Using("jquery","UsingClass","login")(); // 将其中的 Using("UsingClass") 放置在login.js中 如 /* *** 以下是login.js文件的内容 *** */ Using("UsingClass"); Using.asyn(function(){ // Using.Class.create... }); // 这样页面当中就不用导入"UsingClass" Using("jquery","login");
PS:仲谋之后将减少UsingJS核心更新 BUG除外 逐渐加大一些新的功能模块的开发 以便作为UsingJS的模块来引用 希望大家也能用UsingJS来开发模块 谢谢
=====================================================================
UsingJS-0.4.3更新(在0.4.2基础上更新了差不多所有函数)
1、删除了fetch函数
2、优化了代码结构
3、将Using.Class从UsingJS中移除 不作为核心功能放置在UsingJS中 仅作为一个可按需导入的模块
4、分解了大部分内部函数 使代码更清晰
5、更改了配置文件的文件名 由config.js修改为using.config.js
6、在UsingJS文件头独立出了using.config的路径配置 默认为/js/using.config 如有变动 请记得修改
7、优化了AJAX请求
8、提取了Using.Class中的重复函数体 独立放置在私有函数_iterator中
9、公开了Using.Class中原本只有通过Using.Class.create创建的类才有的proxy函数 放置在了Using.Class.proxy中