Maison  >  Article  >  interface Web  >  Comment comprendre les objets javascript

Comment comprendre les objets javascript

醉折花枝作酒筹
醉折花枝作酒筹original
2021-07-22 14:25:262383parcourir

En JS ou dans les langages de programmation orientés objet, un objet est une combinaison de propriétés et de méthodes. Un attribut contient un nom d'attribut et une valeur d'attribut. Cette valeur peut être n'importe quel type de données ou une fonction. Dans ce cas, la fonction est également appelée méthode.

Comment comprendre les objets javascript

L'environnement d'exploitation de ce tutoriel : système Windows 7, JavaScript version 1.8.5, ordinateur Dell G3.

1.1 Qu'est-ce qu'un objet ?

Les objets sont des choses. Dans le monde réel, une balle, une table et une voiture sont tous des objets.

Un objet est quelque chose ayant des caractéristiques descriptibles que nous pouvons influencer et manipuler d'une manière spécifique.

En JS ou dans les langages de programmation orientés objet, un objet est une combinaison de propriétés et de méthodes.

Un attribut contient un nom d'attribut et une valeur d'attribut. Cette valeur peut être n'importe quel type de données ou une fonction. Dans ce cas, la fonction est également appelée méthode.

En JS, presque tout ce que vous rencontrez est un objet, comprenons donc les détails des objets.

1.2 Caractéristiques de l'objet ?

Les objets ont des attributs, qui sont les caractéristiques de l'objet. Vous pouvez accéder aux attributs d'un objet via la notation par points.

objectName.propertyName;

Si vous comparez un objet à une balle dans la réalité, alors cette balle est un objet avec des attributs, une couleur et une taille. Ceux-ci peuvent être exprimés ainsi :

var ball = new Object();
ball.color = “red";
ball.size = 12;

Les objets ont également des méthodes, qui sont utilisées pour définir le comportement de l'objet.

Par exemple, cette balle peut avoir une méthode de roulement pour calculer jusqu'où elle peut rouler, et une méthode de rebond pour calculer la hauteur à laquelle elle peut sauter.

peut être exprimé ainsi :

ball.roll = function() {
return this.size * laps
}

1.3 Accéder aux propriétés d'un objet

Comme mentionné précédemment, nous pouvons accéder aux propriétés d'un objet via la notation par points, mais si tel est le cas, pouvons-nous toujours accéder aux propriétés de un objet via la notation par points :

var ball = new Object();
ball.color = “red";
ball.size = 12;
var spec = “color”;
ball.spec ??

Supposons ici qu'il existe une spécification de variable et que nous devons accéder aux propriétés de l'objet via cette spécification de variable.

Mais si vous utilisez la notation par points, vous accéderez à l'attribut spec de ball et renverrez un indéfini, indiquant que la spécification est directement traitée comme une propriété au lieu d'une variable.

Que devons-nous faire si nous voulons obtenir la valeur d'une variable comme attribut d'un objet ?

Accessible en utilisant la notation entre crochets. Cette notation est déterminée dynamiquement dans le nom de l'attribut, de sorte que l'attribut soit accessible via la chaîne stockée dans la variable :

ball[spec]; // red

1.4 Attributs d'objet énumérés

De plus, vous pouvez énumérer toutes les propriétés de l'objet via l'instruction for in loop :

var ball = {color: “red”, size: 12, border: 2};
for (var prop in ball) {
console.log(“ball.” + prop + “=“ + obj[prop]);
}
// ball.color = red
// ball.size = 12
// ball.border = 2
// 如果希望继承的属性不显示,那么可以用hasOwnProperty函数来过滤一遍
var bar = {a: 1, b: 2, c: 3};
function Foo() {
this.color = 'red';
}
Foo.prototype = bar;
var obj = new Foo();
for (var prop in obj) {
if (obj.hasOwnProperty(prop)) {
console.log(prop);
}
}

Vous pouvez également utiliser la méthode Object.keys(obj) pour renvoyer un tableau de collections de noms de propriétés :

var obj = {a: “123”, b: “das”, c: “web”};
console.log(Object.keys(obj)); // [“a”,”b”,”c”];
var arr = [“a”, “b”, “c”];
console.log(Object.keys(arr)); // [“0”,”1”,”2”];

[Apprentissage recommandé : Tutoriel avancé javascript]

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!

Déclaration:
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