js創建對象 object.create()用法


Object.create()方法是ECMAScript 5中新增的方法,這個方法用於創建一個新對象。被創建的對象繼承另一個對象的原型,在創建新對象時可以指定一些屬性。

語法: Object.create(proto[,propertiesObject]) 
proto: 對象,要繼承的原型 
propertiesObject: 對象,可選參數,為新創建的對象指定屬性對象。該屬性對象可能包含以下值:

屬性 說明
configurable 表示新創建的對象是否是可配置的,即對象的屬性是否可以被刪除或修改,默認false
enumerable 對象屬性是否可枚舉的,即是否可以枚舉,默認false
writable 對象是否可寫,是否或以為對象添加新屬性,默認false
get 對象getter函數,默認undefined
set 對象setter函數,默認undefined

注意,使用Object.create()方法創建對象時,如果不是繼承一個原有的對象,而是創建一個全新的對象,就要把proto設置為null。

來看一個簡單的應用

// 基類
function Site() {
  this.name = 'Site';
  this.domain = 'domain';
}

Site.prototype.create = function(name, domain) {
  this.name = name;
  this.domain = domain;
};

// 子類
function Itbilu() {
  Site.call(this); //調用基類的構造函數
}

// 繼承父類
Itbilu.prototype = Object.create(Site.prototype);

// 創建類實例
var itbilu = new Itbilu();

itbilu instanceof Site;  // true
tbilu instanceof Itbilu;  // true

itbilu.create('IT筆錄', 'itbilu.com');
itbilu.name;    // 'IT筆錄'
itbilu.domain;  // 'itbilu.com'

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM