Heim > Web-Frontend > js-Tutorial > Hauptteil

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

不言
Freigeben: 2018-12-10 17:46:15
nach vorne
3493 Leute haben es durchsucht

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();
    };
Nach dem Login kopieren

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;
            }    
        }
    });
Nach dem Login kopieren
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
Nach dem Login kopieren

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!

Verwandte Etiketten:
Quelle:segmentfault.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage