Heim > Web-Frontend > js-Tutorial > So passen Sie Objekte in JavaScript an

So passen Sie Objekte in JavaScript an

青灯夜游
Freigeben: 2023-01-07 11:41:26
Original
5027 Leute haben es durchsucht

Benutzerdefinierte Methode: 1. Direkt über „Attributname/Wert“ erstellen, Syntax „var Objektname = {Attributname: Attributwert};“ 2. Verwenden Sie die Anweisung „var Objektname = neuer Konstruktorname (Argumente)“. 3. Verwenden Sie die Anweisung „Object.create (Prototypobjekt, Deskriptoren)“.

So passen Sie Objekte in JavaScript an

Die Betriebsumgebung dieses Tutorials: Windows 7-System, JavaScript-Version 1.8.5, Dell G3-Computer.

In Js können Entwickler zusätzlich zu integrierten Objekten wie Array, Datum, Zahl usw. ihre eigenen Objekte über Js-Code erstellen.

Objekteigenschaften

① Die Struktur ähnelt einem „Wörterbuch“: Die Eigenschaften des Objekts ähneln Schlüssel/Wert-Paaren; der Name der Eigenschaft ist eine Zeichenfolge und der Wert der Eigenschaft ist von jede Art.

② Prototyp-Vererbung: Js-Objekte können die Eigenschaften des Prototyps erben.

③ Dynamische Struktur: Attribute von Objekten können dynamisch hinzugefügt und gelöscht werden.

④ Referenztyp: Objekte in js sind Referenztypen. a ist ein Objekt, b = a, und das Ändern von b führt auch dazu, dass a geändert wird.

So erstellen Sie Objekte

Es gibt drei Hauptmethoden, um benutzerdefinierte Objekte in Js zu erstellen: Objektliterale, neue Konstruktoren und Object.create()-Methoden. Das von jeder Erstellungsmethode geerbte Prototypobjekt ist unterschiedlich:

① Direkte Objektmenge: Der Prototyp ist Object.prototype.

② Neuer Konstruktor: Der Prototyp ist das Prototypattribut des Konstruktors.

③ Object.create(): Der Prototyp ist der erste übergebene Parameter. Wenn der erste Parameter null ist, wird Object.prototype als Prototyp verwendet.

1. Direkte Objektmenge

Beschreibung: Direkt über Attributnamen/-wert erstellt.

Syntax: var o = { name:'tom', age:22 };

Prototyp: Object.prototype

Anwendbare Szenarien: In einem bestimmten Bereich anwenden.

Beispiel:

var o = {
    name: 'tom'
}
console.log(o.constructor.prototype); // => Object() :对象直接量的原型为Object
console.log(o.constructor.prototype === Object.prototype); // true
Nach dem Login kopieren

2. Neuer Konstruktor

Erklärung: Der Konstruktor ist ebenfalls eine Art Funktion, aber um die häufig verwendeten Funktionen zu unterscheiden, wird der Funktionsname des Konstruktors geschrieben in Kamelschrift (erste Großbuchstaben).

Syntax: var o = new ClassName();

Prototype: Prototype-Attribut des Konstruktors.

Beispiel:

// 1.创建构造函数
function People(name) {
    this.name;
}

var p = new People('Tom');
console.log(p.constructor.prototype); // => People{} :原型为构造函数的prototype
console.log(p.constructor.prototype === People.prototype); // => true

// 2.自定义对象的多层继承 :constructor返回最先调用的构造函数 
function Student(age) {
    this.age = age;
}
Student.prototype = new People(); // 设置Student的原型为People对象

var s = new Student(22); // 对象初始化时,先调用People(),再调用Student()
console.log(s.constructor); // => function People :对象s返回的构造函数为People
console.log(s.constructor.prototype); // => People{} :原型对象为People
console.log(s.constructor.prototype === People.prototype); // => true
Nach dem Login kopieren

3, Object.create(prototype, propertyDescriptor): ECMAScript 5-Spezifikation

Beschreibung: Erstellen Sie ein Objekt mit dem angegebenen Prototyp und den angegebenen Eigenschaften und geben Sie es zurück.

Syntax: Object.create(prototype, propertyDescriptor)

Parameter:

①prototype {prototype}: Erstellt den Prototyp des Objekts, der null sein kann. Wenn es null ist, ist der Prototyp des Objekts undefiniert.

②propertyDescriptor {propertyDescriptor} Optional: Eigenschaftsdeskriptor.

Prototyp: Der stille Prototyp ist Parameter ①; wenn Parameter ① null ist, ist der Prototyp des Objekts undefiniert.

Beispiel:

// 1.建立一个原型为null的对象
var o = Object.create(null, {
    name: {
        value: 'tom'
    }
});
console.log(o.constructor); // => undefined 

// 2.创建一个原型为Array的对象
var array = Object.create(Array.prototype, {});
console.log(array.constructor); // => function Array 构造函数 
console.log(array.constructor.prototype); // => [] :原型对象为数组

// 3.创建一个原型为自定义类的对象
function People() { }
var p = Object.create(People.prototype, {});
console.log(p.constructor); // => function People 构造函数 
console.log(p.constructor.prototype); // => People{} :原型对象People
Nach dem Login kopieren

[Verwandte Empfehlungen: Javascript-Lerntutorial]

Das obige ist der detaillierte Inhalt vonSo passen Sie Objekte in JavaScript an. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
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