编写可维护的JS 05
2024-10-19 01:32:34
5.UI层的松耦合
- 松耦合定义 每个组件尽量独立,修改一个不影响其他的组件
- 将Js从css中抽离 不要使用css表达式,因为浏览器会以高频率重复计算css表达式,严重影响性能,IE9不支持表达式
- 将Css从Js中抽离 Js应只负责添加、移除类,不应该设置style。除了操作运动
- 将Js从HTML中抽离 不要写在标签里,用事件绑定,将Js语句放在外置文件中
- 将HTML从Js中抽离
- 从服务器加载 将模板放在远程服务器
- 简单的客户端模板 在HTML注释中包含模板文件,
type=text/x-my-template
的script标签 - 复杂的模板 模板引擎等 handlebars库
6.避免使用全局变量
- 不使用
var
会产生全局变量 - 不能跟全局变量重名
- 单全局变量方式
- 命名空间
Y.My
Y.Mail
- 模块
- YUI模块
- 异步定义模块 AMD define
- requireJs
- CommonJs
- 零全局变量 很少情况下有
最新文章
- Eclipse注释模板设置详解
- css实现小三角(原理)
- O365(世纪互联)SharePoint 之文档库使用小记
- java-collections.sort异常Comparison method violates its general contract!
- AngularJS 分页
- DuiLib 源码分析之解析xml类CMarkup &; CMarkupNode 头文件
- javascript日常总结
- 【转】Samba配置文件详解
- SQL Server 2008安装和配置过程
- SQL_insert into(把B表某些字段,插入A表某些字段)
- IOS基于新浪微博开放平台微博APP
- encode_utf8 把字符编码成字节 decode_utf8解码UTF-8到字符
- Elasticsearch 2.3 (ELK)Geo_point绘图、日志Date时间获取实例
- Hibernate——配置并访问数据库
- Visual Studio Shortcuts
- Linux压缩打包tar命令总结
- redis 中的key值过期后,触发通知事件
- mkimage command not found – U-Boot images will not be built
- jqgrid获取选中行指定列的值
- 生成springboot docker镜像 并上传到阿里云镜像厂库
热门文章
- 未能加载文件或程序集 Microsoft.ReportViewer.Common, Version=11.0.0.0
- NPOI操作EXCEL--设置密码及设置只读
- 百度静态资源(JS)公共库
- 关于 ls 命令的一个小小的缺陷
- 服务管理——ntp
- Android AsyncHttpClient
- 【插队问题-线段树-思维巧妙】【poj2828】Buy Tickets
- android的Log日志打印管理工具类(一)
- input模糊搜索功能
- 自定义UICollectionViewLayout 实现瀑布流