第一章 遵循最佳实践
1.1不唐突和渐进增强
<1>不唐突:
a.你的脚本对用户来说必须是不唐突的,即消除了不必要的行为和令人讨厌的功能.
b.脚本本身也是不唐突的,即便在没有javascript的情况下,能使页面和标记持续有效,虽然不再那么优雅.
<2>不唐突相关的两个术语___渐进增强和平稳退化
当浏览器能够支持时,文档会得到增强(渐进增强), 当浏览器不支持相应的功能时,文档被退化. 退化后也会获得同一个文档的相同信息量,只是不同的视图. 应该把内容 的有效性和可访问性作为首要目标.
<3>当你使用DOM脚本编程必须:
a.与标准兼容
b.容易维护
c.具有可访问性:禁用脚本可访问到你的信息
d.具有可用性
ps: 不唐突在实践中的应用, Lightbox图像查看方案堪称行为和结构分离的典范: http://lokeshdhakar.com/projects/lightbox2/
1.2.2 不要版本检测
1. 使用能力检测而不是版本检测
2.什么时候需要使用浏览器版本检测: 当设计产品独有的特性时
1.2.3 通过平稳退化保证可访问性 (如提示,欢迎您,请启用JavaScript以获得更一致的体验 , js是为了增强行为和交互性)
1.2.4 为重用命名空间而进行规划.
使用匿名函数封装,你不需要讲自己的命名空间前缀逐一添加到众多的函数和对象上.
1.2.5通过重用的对象把事情简化
1.2.6 一定要自己动手写代码
1.3 JavaScript语法中常见的陷阱
<1>区分大小写
<2> 使用单引号 (因为xhtml中属性用双引号)
<3> 换行 ,使用 + 将每一行用引号连接起来
<4> 可选的分号和花括号,强烈建议无论如何加上
<5> 没有重载
<6> 匿名函数
<7> 作用域解析和闭包
var 关键字决定了哪个函数是特定变量的作用域的终点, 同样的逻辑也适用于取得变量值的情况.
除了var关键字以外,变量包含在定义函数的圆括号内,与使用var关键字的效果是一样的, 即变量也会被包含在函数的作用域内.