[TOC]
# 示例代码
```
/**
* 示例代码
* 可参照此代码进行复制进行扩展
* @author hongwei 2018-05-18
*/
layui.define(['jquery','layer','form','laytpl','func','ajax'], function(exports){
'use strict';
var $ = layui.$
,layer = layui.layer
,form = layui.form
,laytpl = layui.laytpl
,func = layui.func
,ajax = layui.ajax
//外部接口
, example = {
config: {} //全局配置项
//设置全局项
,set:function (options) {
//
}
}
//字符常量
, MOD_NAME = 'example'
//构造器
,Class = function(options){
var that = this;
that.init(); //基本操作
};
//默认配置
Class.prototype.config = {
debug : false //调试开关,true打开,false关闭
};
//初始基本操作
Class.prototype.init = function() {
var that = this
, options = that.config;
//todo
};
//渲染
example.render = function(options){
var inst = new Class(options);
return inst;
};
exports(MOD_NAME, example);
});
```
# 使用
```
<script>
layui.config({
base: GV.ROOT+'static/larry/lib/'
}).extend({
login: 'agent/login'
}).use(['form','layer','login','jqform','jqajax'],function () {
let form = layui.form
,layer = layui.layer
,login = layui.login;
login.render();
});
</script>
```
- javascript封装
- jquery封装
- layui封装
- 基本知识
- 匿名函数
- 严格模式
- 代码规范工具
- 使用JSHint和JSLint
- 构建
- Grunt
- gulp
- Gulp使用入门操作十一步压缩JS
- 注意
- 初级
- 中级
- 高级
- 将es6代码转成es5
- 我常用的
- 报错处理
- 《编写可维护的Javascript》
- 第1章:基本的格式化
- 缩进层级
- 语句结尾
- 行的长度
- 换行
- 空行
- 命名
- 变量和函数
- 常量
- 构造函数
- 直接量
- 第2章:注释
- 单行注释
- 多行注释
- 使用注释
- 文档注释
- 第3章:语句和表达式
- 花括号的对齐方式
- 块语句间隔
- switch语句
- 第4章:变量函数运算符
- 变量声明
- 函数声明
- 函数调用间隔
- 立即调用函数
- 严格的模式
- 相等
- 第5章:UI的松耦合
- 什么是松耦合
- 将javascript从css中抽离
- 将css从javascript中抽离
- 将javascript从html中抽离
- 将html从javascript中抽离
- 第6章:避免使用全局变量
- 全局变量带来的问题
- 意外的全局变量
- 单全局变量方式
- 零全局变量
- 第7章:事件处理
- 典型用法
- 规则1:隔离应用逻辑
- 规则2:不要分发事件对象
- 第8章:避免“空比较”
- 检测原始值
- 检测应用值
- 检测属性
- 第9章:将配置数据从代码中分离出来
- 什么是配置数据
- 抽离配置数据
- 保存配置数据
- 第10章:抛出自定义错误
- 错误的本质
- 在javascript抛出错误
- 抛出错误的好处
- 何时抛出错误
- try-catch语句
- 错误类型
- 第11章:不是你的对象不要动
- 什么是你的
- 原则
- 更好的途径
- 关于Polyfill的注释
- 阻止修改
- 第12章:浏览器嗅探
- User-Agent嗅探
- 特性检测
- 避免特性推断
- 避免浏览器推断
- 应当如何取舍
- 第13章:目录和文件结构
- 最佳实践
- 基本结构
- 第14章:Ant
- 安装
- 配置文件
- 执行构建
- 目标操作的依赖
- 属性
- Buildr项目
- 第15章:校验
- 查找文件
- 任务
- 增强的目标操作
- 其他方面的改进
- Buidr任务
- 第16章:文件的合并与加工
- 任务1
- 行尾结束符
- 文件头和文件尾
- 加工文件
- 第17章:文件的精简与压缩
- 文件精简
- 压缩
- 第18章:文档化
- JSDoc Toolkit
- YUI DOC
- 第19章:自动化测试
- YUI Test Selenium引擎
- Yeti
- PhantomJS
- JsTestDriver
- 第20章:组装到一起
- Javascript编码风格指南