Maison > interface Web > js tutoriel > Une première introduction au JavaScript orienté objet

Une première introduction au JavaScript orienté objet

巴扎黑
Libérer: 2017-09-04 09:46:23
original
1100 Les gens l'ont consulté

Les connaissances orientées objet JS sont le point de connaissances d'entrée de gamme le plus basique. Ce qui suit est une introduction détaillée aux connaissances orientées objet js à travers l'exemple de code de cet article. Les amis intéressés peuvent apprendre ensemble

Déclaration de classe de

1. 🎜>2. Classe ES6


function Animal() {
 this.name = 'name'
}
// 实例化
new Animal()
Copier après la connexion

Héritage de classe


1. Implémenté à l'aide du constructeur Héritage
class Animal {
 constructor() {
  this.name = 'name'
 }
}
// 实例化
new Animal()
Copier après la connexion

Principe : modifiez le pointeur this de la sous-classe lors de l'exécution, mais les attributs de la chaîne de prototypes de la classe parent ne sont pas hérités, ce qui est un héritage incomplet

2. Implémenter l'héritage à l'aide d'une chaîne de prototypes

Principe : chaîne de prototypes, mais si les attributs sont dans le parent la classe sont modifiées dans une instance de sous-classe, les propriétés de la classe parent changeront dans d'autres instances. Cette propriété modifiera également l'enfant, ce qui est également un héritage incomplet


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())
Copier après la connexion

<🎜. >3. Constructeur + chaîne de prototypes

la plupart des meilleures pratiques


function Parent() {
 this.name = &#39;Parent&#39;
 this.arr = [1, 2, 3]
}
Parent.prototype.say = function(){
 console.log(&#39;hello&#39;)
}
function Child() {
 this.type = &#39;Child&#39;
}
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())
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal