Heim >Web-Frontend >js-Tutorial >Einführung in die Verwendung von Object.create() in JavaScript

Einführung in die Verwendung von Object.create() in JavaScript

不言
不言nach vorne
2018-12-10 17:45:423536Durchsuche

Dieser Artikel bietet Ihnen eine Einführung in die Verwendung von Object.create() in JavaScript. Ich hoffe, dass er Ihnen als Referenz dienen wird. helfen.

Das von Object.create(null) erstellte Objekt ist ein leeres Objekt, das die Eigenschaften oder Methoden der Object.prototype-Prototypkette nicht erbt.

Zum Beispiel: toString(), hasOwnProperty ( ) und andere Methoden

参数 说明
obj 创建对象的原型,表示要继承的对象
propertiesObject(可选 ) 也是一个对象,用于对新创建的对象进行初始化

Werfen wir einen Blick auf die zugrunde liegende Implementierung

    Object.create =  function (o) {
        var F = function () {};
        F.prototype = o;
        return new F();
    };

Sehen wir uns die spezifische Anwendung an:

    //创建一个Obj对象
    var Obj ={
        name:'mini',
        age:3,
        show:function () {
            console.log(this.name +" is " +this.age);
        }
    }

    //MyObj 继承obj, prototype指向Obj
    var MyObj = Object.create(Obj,{
        like:{
            value:"fish",        // 初始化赋值
            writable:true,       // 是否是可改写的
            configurable:true,   // 是否能够删除,是否能够被修改
            enumerable:true      //是否可以用for in 进行枚举
        },
        hate:{
            configurable:true,
            get:function () { console.log(111);  return "mouse" }, // get对象hate属性时触发的方法
            set:function (value) {                                 // set对象hate属性时触发的方法 
                console.log(value,2222);
                return value;
            }    
        }
    });
Fokus: Die get- und set-Methoden hier scheinen es zu sein größeres Potenzial enthalten. Wir können sie verwenden, um Datenfilterung und Datenbindung zu implementieren. Realisieren Sie einige einfache MVVM-Effekte

Anwendung der Object.create-Vererbung:

    var A = function () { };
    A.prototype.sayName=function () {
        console.log('a');
    }

    // B的实例继承了A的属性
    var B = function () { };
    B.prototype = Object.create(A.prototype);
    var b = new B();
    b.sayName();  // a

Wichtiger Punkt: Im Vergleich zur Vererbung des Konstruktors realisiert die Object.create-Vererbung die perfekte Trennung der Prototypen von A und B. Beide Parteien werden sich nicht gegenseitig beeinflussen. Dies ist das Highlight von Object.create

Das obige ist der detaillierte Inhalt vonEinführung in die Verwendung von Object.create() in JavaScript. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:segmentfault.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen