...
|
...
|
@@ -255,6 +255,40 @@ |
|
|
* 使用for...in...的时候要添加hasOwnProperty判断
|
|
|
* 不给setTimeout和setInterval传递字符串参数,那就等同于eval了
|
|
|
|
|
|
## 模块化规范
|
|
|
CommonJs/CMD规范:
|
|
|
|
|
|
* 一个单独的文件就是一个模块,每个模块都有单独的作用域
|
|
|
* 模块标识可以为文件路径或者spm的包名称。require默认读取js文件,因此读取路径时可以省略.js后缀
|
|
|
* 模块与外部通信的桥梁为module.exports对象,通过exports.api可以对外抛出api接口。当然如果有需要,也可以通过module.exports = ...指定模块返回的内容而不仅仅是一个对象
|
|
|
* 模块引用通过require('module')可以获取module暴露的所有的接口
|
|
|
|
|
|
模块代码规范说明:
|
|
|
|
|
|
* 模块开头require加载所有依赖模块和JQ插件。如果是spm的依赖包,只要模块名即可,如果不是,需要写引用模块的相对路径+模块名
|
|
|
|
|
|
|
|
|
var $ = require('jquery'),
|
|
|
tools = require('yoho-tools'), //spm包
|
|
|
flip = require('../plugin/flip'); //普通文件
|
|
|
|
|
|
require('../plguin/login');
|
|
|
..
|
|
|
|
|
|
* 定义需要抛出的接口
|
|
|
|
|
|
|
|
|
exports.init = function() {
|
|
|
//doInit
|
|
|
};
|
|
|
|
|
|
exports.show = function() {
|
|
|
//doShow
|
|
|
};
|
|
|
...
|
|
|
|
|
|
* 模块中不应该出现全局环境使用的变量或函数,这样可以保证模块的独立性
|
|
|
|
|
|
## 其他事项
|
|
|
### JS文件说明
|
|
|
|
...
|
...
|
|