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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。