无涯教程-Object.create()函数

132 阅读1分钟

Object.create()方法用于创建具有指定原型对象和属性的新对象。我们可以通过Object.creates(null)创建没有原型的对象。

语法

Object.create(prototype[, propertiesObject])

参数

prototype   - 它是原型对象,必须从该对象创建新对象。

propertiesObject  - 这是一个可选参数。它指定要添加到新创建对象的可枚举属性。

返回

Object.create()返回具有指定原型对象和属性的新对象。

浏览器支持

Chrome yes
Edge yes
Firefox yes
Opera yes

例子1

const people = {
  printIntroduction: function ()
   {
    console.log(`My name is ${this.name}. Am I human? ${this.isHuman}`);
  }
};
const me = Object.create(people);
me.name = "Marry";//"name" is a property set on "me", but not on "person"
me.isHuman = true;//inherited properties can be overwritten
me.printIntroduction();

输出:

"My name Marry. Am I human? true"

例子2

function fruits() {
        this.name = franco;
        }
       function fun() {
        fruits.call(this)
 }

        fun.prototype = Object.create(fruits.prototype);
        const app = new fun();
        console.log(app.name);

输出:

"franco"

例子3

function fruits() {
        this.name = fruit;
        this.season = Winter;
        }

        function apple() {
        fruits.call(this);
        }

        apple.prototype = Object.create(fruits.prototype);
        const app = new apple();
        console.log(app.name,app.season);
        console.log(app.season);

输出:

"fruit"
 "Winter"
"Winter"

参考链接

www.learnfk.com/javascript/…