Heim  >  Artikel  >  Web-Frontend  >  Eine erste Einführung in objektorientiertes JavaScript

Eine erste Einführung in objektorientiertes JavaScript

巴扎黑
巴扎黑Original
2017-09-04 09:46:231094Durchsuche

JS-objektorientiertes Wissen ist der grundlegendste Wissenspunkt für Einsteiger. Im Folgenden finden Sie eine detaillierte Einführung in js-objektorientiertes Wissen anhand des Beispielcodes dieses Artikels.

Klassendeklaration von

1 🎜>2. ES6-Klasse


function Animal() {
 this.name = 'name'
}
// 实例化
new Animal()

Vererbung der Klasse


class Animal {
 constructor() {
  this.name = 'name'
 }
}
// 实例化
new Animal()
1. Implementiert mit Hilfe der Konstruktorvererbung

Prinzip: Ändern Sie den this-Zeiger der Unterklasse beim Ausführen, aber die Attribute in der Prototypenkette der übergeordneten Klasse werden nicht vererbt, was eine unvollständige Vererbung darstellt

2. Implementieren Sie die Vererbung mithilfe der Prototypenkette

Prinzip: Prototypenkette, aber wenn die Attribute im übergeordneten Element vorhanden sind Wenn die Klasse in einer Unterklasseninstanz geändert wird, ändern sich die Eigenschaften in anderen Instanzen. Diese Eigenschaft ändert auch das untergeordnete Element, was ebenfalls eine unvollständige Vererbung ist

function Parent() {
 this.name = 'Parent'
}
Parent.prototype.say = function(){
 console.log('hello')
}
function Child() {
 Parent.call(this)
 this.type = 'Child'
}
console.log(new Parent())
console.log(new Child())

3. Konstrukteur + Prototypenkette

die meisten Best Practices

function Parent() {
 this.name = 'Parent'
 this.arr = [1, 2, 3]
}
Parent.prototype.say = function(){
 console.log('hello')
}
function Child() {
 this.type = 'Child'
}
Child.prototype = new Parent()
let s1 = new Child()
let s2 = new Child()
s1.arr.push(4)
console.log(s1.arr, s2.arr)
console.log(new Parent())
console.log(new Child())
console.log(new Child().say())

Das obige ist der detaillierte Inhalt vonEine erste Einführung in objektorientiertes JavaScript. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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