书写HTML+CSS的好习惯(二)
- 避免全局变量冲突
a) 将脚本用匿名函数包起来,控制变量作用域
b) 不用匿名函数之间的通行,可以使用全局变量
c) 但是b) 会产生大量全局变量,违反了我们控制全局变量数量的初衷
d) 解决办法:在全局变量上设置一个json数据,例如Global={}
e) 但是,Global上可能绑着太多变量,也会冲突
f) 这时,可以用命名空间,例如Global.A={} Global.b={}
g) 一般而言,命名空间不会特别多,这时,冲突可能性大大降低
h) 为了提高代码可维护性,添加适当的注释(作者以及功能等)
2. 给程序一个统一的入口
a) Js是脚本语言,下载到哪,执行到哪,编程变得方便,但是程序支离破碎
b) 改变现状:划分功能——框架、应用
c) 框架部分提供全局变量、命名空间。框架部分的代码在每个页面都相同
d) 应用部分提供页面功能逻辑,不用页面会有不同功能
e) JavaScript脚本是在对应的DOM节点加载后,才能执行,否则会报错
f) window.onload 监测页面中内容全部加载后触发,包括图片、flash等
g) DOMReady 当加载出节点就触发,不会管其中具体内容是否加载完毕,但是js原生不支持,需要用js框架来使用,例如jQuery、YUI等
3. CSS在页头,JavaScript在页尾
4. 函数传参数,可用hash对象,提高灵活性、扩展性,普通的传参方式,位置顺序很重要,而hash就无所谓了