1.为了避免HTML和JavaScript的紧密耦合(JavaSript中包含HTML),应避免在JavaScript中创建大量的HTML。主要方法有两种:一是避免直接插入HTML标记,可以先在页面中直接包含并隐藏标记,然后使用JavaScript控制它的显示/隐藏。二是进行AJAX请求并获得更多要显示的HTML。
2.避免在事件处理程序中包含未封装的应用逻辑,应到使用外部函数对应用逻辑进行封装。使用此种解耦方法时,勿将event对象直接传给其他方法,而应只传来自event对象中所需的数据。
3.永远不要修改不是有你创建的对象。这包括:
(1)不要为实例或原型添加/重定义方法。
(2)不要为实例或原型添加/修改属性。
4.避免与null进行比较,尝试使用以下技术替换:
(1)如果值应为一个引用类型,使用instanceof操作符检查其构造函数
(2)如果值应为一个基本类型,使用typeof操作符检查其类型
(3)如果希望对象包含某个特定的方法名,则是用typeof操作符确保指定名字的方法存在于对象上
5.使用常量,将数据从应用逻辑中分离出来的思想,可以在不冒引入错误的风险的同时,就可以改变数据。
要注意的值的类型如下所示:
(1)重复值
(2)用户界面字符串
(3)URLs
(4)任意可能会更改的值--每当你在用到字面量值时,你都要问一下自己这个值未来是否会变化。
6.最小化访问HTMLCollection的次数可以极大地改善脚本的性能。发生以下情况时会返回HTMLCollection对象:
(1)进行了对getElementsByTagName()的调用
(2)获取了元素的childNodes属性
(3)过去了元素的attributes属性
(4)访问了特殊的集合,入document.forms、document.images等。