1. 過程式程序設計this
這種作法很簡單,但你沒法建立能夠保存狀態並具備一些僅對其內部狀態進行操做的方法spa
function startAnimation(){} function stopAnimation(){}
2. 定義一個類,封裝這種對象,並使用prototype屬性將方法添加至該類prototype
var Anim=function(){}; Anim.prototype.start=function(){}; Anim.prototype.stop=function(){};
3. 將類的定義封裝在一條聲明中設計
var Anim=function(){}; Anim.prototype={ start: function(){}, stop: function(){} }
4. 使用Function原型code
Function.prototype.method=function(name, fn){ this.prototype[name]=fn; }; var Anim=function(){}; Anim.method('start', function(){}); Anim.method('stop', function(){});
5. 可被鏈式調用對象
Function.prototype.method=function(name, fn){ this.prototype[name]=fn; return this; }; var Anim=function(){}; Anim.method('start', function(){}).method('stop', function(){});