一、更多面向对象的JavaScript
1.1简单的对象创建
1.2 使用JSON创建对象
1.3类的定义
1.4 原型prototype
二、柔性衰减和不唐突的JavaScript
2.1让JavaScript保持独立
2.2允许柔性衰减
2.3不要使用浏览器嗅探例程
2.4不要写浏览器相关或者语言相关的JavaScript代码
2.5合适的变量作用域
2.6别用鼠标事件来触发需要的事件
三、关注可访问性
四、错误处理
五、调试机制
六、浏览器扩展
七、JavaScript库
Prototype
Dojo
Java Web Parts
script.acuo.us
YUI
MochiKit
Rico
Mootools
面向对象的javascript-----一段较好的代码示例
function NumberFunction(){var answer=0;}
NumberFunction.prototype.addNumbers=function(num1,num2){this.answer=num1+num2;}
NumberFunction.prototype.subtractNumbers=function(num1,num2){this.answer=num1-num2;};
NumberFunction.prototype.multiplyNumbers=function(num1,num2){this.answer=num1*num2};
NumberFunction.prototype.divideNumbers=function(num1,num2){if(num2 !=0){this.answer=num1/num2}else{this.answer=0}}
NumberFunction.prototype.toString=function(){return this.answer;}
var nf=new NumberFunction();
nf.addNumbers(2,3); nf.answer ;//5
nf.subtractNumbers(5,1); nf.answer ;//4
nf.multiplyNumbers(2,3); nf.answer ;//6
nf.divideNumbers(10,2); nf.answer;//5
这段代码的优点:
1.没有对全局作用域污染因为有NumberFunction函数。var定义的answer只有NumberFunction函数能修改它,外部不能访问和修改
2.所有其他函数都是NumberFunction类的成员,因此构造了一个清晰的关系
3.基本的面向对象:数据和操作数据的函数都封装的很好