Objets JavaScript
Tout en JavaScript est un objet : chaînes, valeurs, tableaux, fonctions...
De plus, JavaScript permet des objets personnalisés.
Tout est un objet
JavaScript fournit plusieurs objets intégrés, tels que String, Date, Array, etc. Les objets ne sont que des types de données spéciaux dotés de propriétés et de méthodes.
Le type booléen peut être un objet. Le type numérique peut être un objet. Une chaîne peut également être un objet. Une date est un objet. Les mathématiques et les expressions régulières sont également des objets. Même les fonctions peuvent être des objets
Les objets JavaScript
Les objets ne sont que des objets. type particulier de données. Les objets ont des propriétés et des méthodes.
Accéder aux propriétés d'un objet
Les propriétés sont des valeurs associées à un objet.
La syntaxe pour accéder aux propriétés de l'objet est :
objectName.propertyName
Cet exemple utilise la propriété length de l'objet String pour obtenir la longueur de la chaîne :
var message="Hello World!";
var x=message.length;
Une fois le code ci-dessus exécuté, la valeur de x sera :
12
Méthodes d'accès aux objets
Les méthodes sont des actions qui peuvent être effectuées sur un objet.
Vous pouvez appeler une méthode avec la syntaxe suivante :
objectName.methodName()
Cet exemple utilise la méthode toUpperCase() de l'objet String pour convertir le texte en majuscules :
var message="Bonjour tout le monde!";
var x=message.toUpperCase();
Une fois le code ci-dessus exécuté, la valeur de x sera :
BONJOUR LE MONDE !
Création d'objets JavaScript
Avec JavaScript, vous pouvez définir et créer vos propres objets.
Il existe deux manières différentes de créer un nouvel objet :
Définir et créer une instance de l'objet Utiliser une fonction pour définir l'objet puis créer une nouvelle instance d'objet
Créer une instance directe
Cet exemple crée une nouvelle instance de l'objet et lui ajoute quatre propriétés :
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> </head> <body> <script> var person=new Object(); person.firstname="jack"; person.lastname="Doe"; person.age=35; person.eyecolor="blue"; document.write(person.firstname + " is " + person.age + " years old."); </script> </body> </html>
Syntaxe alternative (en utilisant des littéraux d'objet) :
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> </head> <body> <script> person={firstname:"John",lastname:"Doe",age:50,eyecolor:"blue"} document.write(person.firstname + " is " + person.age + " years old."); </script> </body> </html>
Utilisez le constructeur d'objet
Cet exemple utilise une fonction pour construire l'objet :
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> </head> <body> <script> function person(firstname,lastname,age,eyecolor){ this.firstname=firstname; this.lastname=lastname; this.age=age; this.eyecolor=eyecolor; } myFather=new person("jack","Doe",35,"blue"); document.write(myFather.firstname + " is " + myFather.age + " years old."); </script> </body> </html>
En JavaScript, cela pointe généralement vers la fonction que nous exécutons elle-même, Ou pointez sur l'objet auquel appartient la fonction (runtime)
Création d'instances d'objet JavaScript
Une fois que vous avez le constructeur d'objet, vous pouvez créer une nouvelle instance d'objet, comme ceci :
var monPère=nouvelle personne("John","Doe",50,"bleu");
var maMère=nouvelle personne("Sally","Rally",48,"vert");
Ajout de propriétés aux objets JavaScript
Vous pouvez ajouter de nouvelles propriétés à un objet existant en attribuant une valeur à l'objet :
En supposant que personObj existe déjà, vous pouvez y ajouter ces nouvelles propriétés : firstname , nom, âge et couleur des yeux :
person.firstname="John";
person.lastname="Doe";
person.age=30;
person.eyecolor="blue " ;
x=person.firstname;
TAprès l'exécution du code ci-dessus, la valeur de x sera :
John
Ajouter la méthode à l'objet JavaScript
Les méthodes ne sont rien de plus que des fonctions attachées à un objet.
Méthodes d'objets définies à l'intérieur de la fonction constructeur :
function person(firstname,lastname,age,eyecolor){ this.firstname=firstname; this.lastname=lastname; this.age=age; this.eyecolor=eyecolor; this.changeName=changeName; function changeName(name){ this.lastname=name; } }
changeName() La valeur du nom de la fonction est attribuée à la propriété lastname de la personne.
Classes JavaScript
JavaScript est un langage orienté objet, mais JavaScript n'utilise pas de classes.
En JavaScript, les classes ne sont pas créées, ni les objets créés à partir de classes (comme dans d'autres langages orientés objet).
JavaScript est basé sur des prototypes et non sur des classes.
JavaScript for...in loop
L'instruction JavaScript for...in parcourt les propriétés d'un objet.
Syntaxe
for (variable in object) { 执行的代码…… }
Remarque : Le bloc de code dans la boucle for...in sera exécuté une fois pour chaque attribut.