理解JavaScript 中的自訂物件
在JavaScript 中建立自訂物件需要在兩種主要方法之間進行選擇:原型方法和閉包方法。
原型設計方式
原型方式,基於原型物件建立物件。定義建構函數,並將方法和屬性新增至其原型屬性。繼承是透過使用 subclassOf() 輔助函數來實現的。
閉包方式
在閉包方式中,每個物件都是獨立的實體,擁有自己的副本方法和屬性。方法的副本不是繼承,而是作為閉包傳遞。預設情況下,它指的是當前對象,這有助於事件處理。
使用哪種方式
最佳方法取決於您的特定需求:
自訂物件的範例程式碼
使用原型方法:
function Shape(x, y) { this.x = x; this.y = y; } Shape.prototype.toString = function() { return 'Shape at ' + this.x + ', ' + this.y; }; function Circle(x, y, r) { Shape.call(this, x, y); this.r = r; } Circle.subclass(Shape); Circle.prototype.toString = function() { return 'Circle at ' + this.x + ', ' + this.y + ', with radius ' + this.r; };
使用關閉方式:
function Shape(x, y) { var that = this; that.x = x; that.y = y; that.toString = function() { return 'Shape at ' + that.x + ', ' + that.y; }; } function Circle(x, y, r) { Shape.call(this, x, y); this.r = r; var _baseToString = this.toString; this.toString = function() { return 'Circle at ' + _baseToString.call(that) + ', with radius ' + this.r; }; }
以上是JavaScript 中的原型與閉包:我應該使用哪種方法來建立自訂物件?的詳細內容。更多資訊請關注PHP中文網其他相關文章!