JavaScript 對象。create() 方法用於創建具有指定原型對象和屬性的新對象。 Object.create() 方法返回具有指定原型對象和屬性的新對象。
用法:
Object.create(prototype[, propertiesObject])
參數:
- prototype:它是原型對象,必須從中創建新對象。
- propertiesObject:它是一個可選參數。它指定要添加到新創建的對象的可枚舉屬性。
返回值:Object.create() 返回具有指定原型對象和屬性的新對象。
下麵提供了上述函數的示例。
示例 1:在這個例子中,有兩個函數“fruits”和“apple”。創建了一個新的apple實例,名為“app”,並指定了“fruits”的原型和屬性,即this.name = '水果 1'.
Javascript
<script>
// creating a function which will be the
// prototype for the object to be created later
function fruits() {
this.name = 'fruit 1';
}
// creating a function to whose object will
// inherit properties from the prototype
// using object.create() method
function
apple() {
fruits.call(this);
}
// creating an object of the apple function which
// will have properties of the prototype
// object i.e. fruits
apple.prototype = Object.create(fruits.prototype);
const app = new apple();
// Displaying the created object
console.log(app.name);
</script>
輸出:
"fruit 1"
示例 2:在此示例中,有兩個函數 “fruits” 和 “apple”。創建了一個名為 “app” 的新 apple 實例,並使用 “fruits” 的原型和屬性指定,即 this.name = 'fruit 1',這個.season = ‘summer’。
Javascript
<script>
// creating a function which will be the
// prototype for the object to be created later
function fruits() {
this.name = 'fruit 1';
this.season = 'summer';
}
// creating a function to whose object
// will inherit properties from the
// prototype using object.create() method
function apple() {
fruits.call(this);
}
// creating an object of the apple function which
// will have properties of the prototype
// object i.e. fruits
apple.prototype
= Object.create(fruits.prototype);
const app = new apple();
// Displaying the created object
console.log(app.name);
console.log(app.season);
</script>
輸出:
"fruit 1" "summer"
應用:
- Object.create()用於實現繼承。
異常:
- 如果propertiesObject參數不為空,Object.create()方法會拋出TypeError異常。
- 如果propertiesObject參數是非原始對象,Object.create()方法會拋出TypeError異常。
我們有 Javascript 對象方法的完整列表,要檢查這些方法,請閱讀這篇JavaScript Object Complete Reference 文章。
支持的瀏覽器:
- 穀歌瀏覽器 6.0 及以上版本
- Internet Explorer 9.0 及以上版本
- Mozilla 4.0 及以上版本
- Opera 11.1 及以上版本
- Safari 5.0 及以上版本
相關用法
- JavaScript Object toLocaleString()用法及代碼示例
- JavaScript Object toString()用法及代碼示例
- JavaScript Object valueOf()用法及代碼示例
- JavaScript Object hasOwnProperty()用法及代碼示例
- JavaScript Object getOwnPropertyDescriptor()用法及代碼示例
- JavaScript Object getOwnPropertyDescriptors()用法及代碼示例
- JavaScript Object getOwnPropertyNames()用法及代碼示例
- JavaScript Object getOwnPropertySymbols()用法及代碼示例
- JavaScript Object __defineGetter__()用法及代碼示例
- JavaScript Object keys()用法及代碼示例
- JavaScript Object propertyIsEnumerable()用法及代碼示例
- JavaScript Object getPrototypeOf()用法及代碼示例
- JavaScript Object freeze()用法及代碼示例
- JavaScript Object is()用法及代碼示例
- JavaScript Object values()用法及代碼示例
- JavaScript Object isPrototypeOf()用法及代碼示例
- JavaScript Object hasOwn()用法及代碼示例
- JavaScript Object isFrozen()用法及代碼示例
- JavaScript Object entries()用法及代碼示例
- JavaScript Object isSealed()用法及代碼示例
- JavaScript Object seal()用法及代碼示例
- JavaScript Object assign()用法及代碼示例
- JavaScript Object.keys()用法及代碼示例
- JavaScript Object.values()用法及代碼示例
- JavaScript Object.entries()用法及代碼示例
注:本文由純淨天空篩選整理自Shubrodeep Banerjee大神的英文原創作品 JavaScript Object create() Method。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。