Maison interface Web js tutoriel Exemples pour expliquer les connaissances pertinentes sur les opérations sur les objets dans JavaScript_Basic knowledge

Exemples pour expliquer les connaissances pertinentes sur les opérations sur les objets dans JavaScript_Basic knowledge

May 16, 2016 pm 03:32 PM
javascript 对象

Du tableau à l'objet

var myarr = ['red','blue','yellow','purple']; 
myarr;// ["red","blue","yellow","purple"] 
myarr[0];//"red" 
myarr[3];//"purple' 
Copier après la connexion


Tout le monde connaît les tableaux. On peut comprendre qu'une Clé correspond à une Valeur, et cette Clé est déjà par défaut dans le tableau (comme le code ci-dessus, ses clés sont 0, 1, 2, 3, et les valeurs sont rouge, bleu, jaune, violet).
Un objet peut alors être compris comme un tableau de clés personnalisées. Regardez le code suivant

var hero ={ 
 breed: 'Turtle', 
 occupation:'Ninja' 
}; 
Copier après la connexion


À partir du code ci-dessus, nous pouvons comprendre :
1. Le nom de l'objet est héros.
2. Différent du tableau, le symbole '{' est utilisé à la place de '['
3. Les attributs de l'objet (tels que la race et la profession) sont séparés par des symboles ','
4.La syntaxe de Key et Value est KEY:VALUE
Il est également important de noter que peu importe si l'attribut (c'est-à-dire la clé) est placé entre guillemets doubles, guillemets simples ou sans guillemets, leurs résultats sont les mêmes. Le code suivant est le même

.
var obj={a:1,b:2}; 
var obj={'a':1,'b':2}; 
var obj={"a":1,"b":2}; 
Copier après la connexion

La manière d'écrire recommandée est de ne pas mettre les attributs entre guillemets. Sauf si le nom de l'attribut est un symbole spécial, tel qu'un nombre, ou contient des espaces, etc.

Cet article est très simple. Il est à noter que le symbole pour définir un tableau est [], tandis que le symbole pour définir un objet est {}
.
Élément, attribut, méthode
Lors de l'apprentissage des tableaux, on peut dire que le tableau contient des éléments. Lorsqu'on parle d'objets, on peut changer l'instruction

.
var animal={ 
   name: 'dog', 
   run:function(){ 
    alert("running"); 
  } 
} 
Copier après la connexion

name est une propriété, et run lui-même est une fonction. Dans cet objet, nous l'appelons une méthode.

Accéder aux propriétés d'un objet
Il existe deux manières d'accéder aux propriétés d'un objet.
Utilisez la forme d'un tableau tel que : animal['name']
Utilisez le point pour accéder : animal.name
La première méthode d'accès convient à toutes les situations. Mais si l'attribut est nommé de manière invalide, comme l'attribut nommé « 1nom » ou « mon nom » mentionné dans la section précédente, il est erroné d'y accéder avec des points. Cela doit être noté.

Regardons en détail un exemple d'accès aux objets

var book = { 
  name:'Javascript Fundation', 
  published:jixie. 
  author:{ 
    firstname:'nicholas', 
    lastname:'xia' 
  } 
}; 
Copier après la connexion


1. Obtenez l'attribut prénom de l'objet auteur

book.author.firstname //nicholas
Copier après la connexion


2. Récupérez l'attribut lastname de l'objet auteur. Essayons une autre façon d'écrire
.

book['author']['lastname'] //xia
Copier après la connexion

Nous pouvons également utiliser des méthodes d'accès mixtes
book.author['lastname'] ou book['author'].lastname sont toutes des méthodes valides et doivent être utilisées de manière flexible

Lorsque les propriétés sont dynamiques, la méthode tableau pour accéder à l'objet est généralement utilisée.

var key ='lastname' 
book.author[key];//xia 
Copier après la connexion

Appeler la méthode de l'objet

var hero = { 
breed: 'Turtle', 
occupation: 'Ninja', 
say: function() { 
return 'I am ' + hero.occupation; 
} 
} 
hero.say(); 
Copier après la connexion


La méthode d'accès aux objets est très simple, juste un petit peu suffit, mais vous pouvez aussi utiliser un tableau, ce qui a l'air bizarre
Tel que héros['say']();
Cette façon d'écrire n'est pas recommandée. Essayez d'utiliser des points lors de l'accès aux objets.

Modifier les propriétés et les méthodes
Javascript étant un langage dynamique, les propriétés et méthodes des objets peuvent être modifiées à tout moment. Voir l'exemple ci-dessous

var hero={}; 
Copier après la connexion

le héros est un objet vide.

typeof hero.breed;//undefined 
Copier après la connexion

Cela montre que l'objet héros n'a pas l'attribut race
Ensuite, vous pouvez ajouter des propriétés et des méthodes

hero.breed = 'turtle'; 
hero.name = 'Leonardo'; 
hero.sayName = function() {return hero.name;}; 
Copier après la connexion

Méthode d'appel

 hero.sayName();//Leonardo
Copier après la connexion

Supprimer l'attribut

delete hero.name;//true 
hero.sayName();//方法失败 

Copier après la connexion

Ceci

var hero = { 
  name : 'Rafaelo', 
  sayName : function(){ 
   return this.name;   
 } 
} 
hero.sayName();//Rafaelo 
Copier après la connexion

La signification de ceci est la signification de cet objet. Les questions complexes à ce sujet seront discutées plus tard.

Fonctions du constructeur
Une autre façon de créer un objet est d'utiliser un constructeur, il suffit de regarder l'exemple

function Hero(){ 
 this.name ='Refaelo'; 
} 
var hero = new Hero();
hero.name;//Refaelo
Copier après la connexion

L'avantage de cette méthode est que vous pouvez passer des paramètres lors de la création d'un objet

function Hero(name){ 
  this.name = name; 
  this.whoAreYou = function(){ 
    return this.name; 
  } 
} 
 
var hi = new Hero('nicholas'); 
hi.whoAreYou();//nicholas 
Copier après la connexion

Attention à ne pas jeter le nouvel opérateur. . .
Objet Global
Nous avons parlé des variables globales dans les dernières sections. Nous avons déjà dit que nous devrions essayer d'éviter d'utiliser des variables globales. Lorsque nous avons appris les objets, nous avons regardé ce qui arrivait aux variables globales. variables. L'objet a une propriété. Si l'environnement hôte est un navigateur Web, la variable globale est window.
Si on définit var a = 1;
On peut le comprendre ainsi :
Une variable globale a,
Comme attribut a de window Nous pouvons appeler window.a ou window['a']
. Regardons la fonction prédéfinie parseInt('123 m'); nous pouvons l'écrire sous la forme window.parseInt('123 m');

attribut constructeur
Une fois l'objet créé, un attribut caché est créé en arrière-plan, constructeur.

h2.constructor;//Hero(name)
Copier après la connexion

Parce que l'attribut du constructeur est une référence à la fonction. Si vous ne vous souciez pas de la raison pour laquelle l'objet h2 est créé, mais que vous vous souciez uniquement de créer un nouvel objet similaire à h2, utilisez l'écriture suivante

var h3 = h2.constructor('Nicholas'); 
h3.name ;//Nicholas 
Copier après la connexion

我们来看看如下写法的意思

var o = {}; 
o.constructor;//Object() 
typeof o.constructor;//"functions" 
Copier après la connexion

其实就是隐藏了 new Object() ,更深的层次应用以后几个教程在说明。

instanceof 操作符
用instanceof来判断对象是否是指定的构造函数创建的。

function Hero(){ 
} 
var h = new Hero(); 
var o = {}; 
h instanceof Hero;//true 
h instanceof Object;//false 
o instanceof Object;//true 
Copier après la connexion


要注意的是instanceof 后面的是个引用 不是个函数 如错误写法 h instanceof Hero();//错误

函数返回对象
可以用构造函数来创建个对象,也可以通过普通函数返回对象来创建对象

function factory(name){ 
  return { 
   name:name 
 }; 
} 
Copier après la connexion

用这个方法创建对象

var o = factory('one'); 
o.name
Copier après la connexion


让我们接下来看看比较少见的构造函数返回对象的例子

function C(){ 
 this.a = 1; 
 return {b:2}; 
} 
 
var c2 = new C(); 
typeof c2.a //undefined 
c2.b; // 2 
Copier après la connexion

说明了 并不返回this了 而是返回了对象{b:2}。。这点要注意

传递对象
如果传递一个对象到函数里,那么传递的是个引用。如果改变了这个引用,也就会改变原始的对象。
下面是个对象赋值的例子

var original = {name:'nicholas'}; 
var copy =original; 
copy.name;//'nicholas'; 
copy.name = 'Jason'; 
original.name;// 'Jason'; 
Copier après la connexion


修改了copy的属性name 也就等于修改了original的属性name
对象传参到函数中,也是同样的。

function modify(o){ 
  o.name ='Jason' 
} 
var original={name:'nicholas'}; 
modify(original); 
original.name;//Jason 
Copier après la connexion


对象的比较
两个对象的比较如果是true的话,那么他们就是同一个对象的引用。

var fido ={breed:'dog'}; 
var benji ={breed:'dog'}; 
 
benji===fido; //false; 
benji==fido; //false; 
Copier après la connexion

 
 以上的代码都不是同一引用,所以都是false

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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

WebSocket et JavaScript : technologies clés pour mettre en œuvre des systèmes de surveillance en temps réel WebSocket et JavaScript : technologies clés pour mettre en œuvre des systèmes de surveillance en temps réel Dec 17, 2023 pm 05:30 PM

WebSocket et JavaScript : technologies clés pour réaliser des systèmes de surveillance en temps réel Introduction : Avec le développement rapide de la technologie Internet, les systèmes de surveillance en temps réel ont été largement utilisés dans divers domaines. L'une des technologies clés pour réaliser une surveillance en temps réel est la combinaison de WebSocket et de JavaScript. Cet article présentera l'application de WebSocket et JavaScript dans les systèmes de surveillance en temps réel, donnera des exemples de code et expliquera leurs principes de mise en œuvre en détail. 1. Technologie WebSocket

Comment convertir le tableau de résultats d'une requête MySQL en objet ? Comment convertir le tableau de résultats d'une requête MySQL en objet ? Apr 29, 2024 pm 01:09 PM

Voici comment convertir un tableau de résultats de requête MySQL en objet : Créez un tableau d'objets vide. Parcourez le tableau résultant et créez un nouvel objet pour chaque ligne. Utilisez une boucle foreach pour attribuer les paires clé-valeur de chaque ligne aux propriétés correspondantes du nouvel objet. Ajoute un nouvel objet au tableau d'objets. Fermez la connexion à la base de données.

JavaScript et WebSocket : créer un système efficace de prévisions météorologiques en temps réel JavaScript et WebSocket : créer un système efficace de prévisions météorologiques en temps réel Dec 17, 2023 pm 05:13 PM

JavaScript et WebSocket : Construire un système efficace de prévisions météorologiques en temps réel Introduction : Aujourd'hui, la précision des prévisions météorologiques revêt une grande importance pour la vie quotidienne et la prise de décision. À mesure que la technologie évolue, nous pouvons fournir des prévisions météorologiques plus précises et plus fiables en obtenant des données météorologiques en temps réel. Dans cet article, nous apprendrons comment utiliser la technologie JavaScript et WebSocket pour créer un système efficace de prévisions météorologiques en temps réel. Cet article démontrera le processus de mise en œuvre à travers des exemples de code spécifiques. Nous

Tutoriel JavaScript simple : Comment obtenir le code d'état HTTP Tutoriel JavaScript simple : Comment obtenir le code d'état HTTP Jan 05, 2024 pm 06:08 PM

Tutoriel JavaScript : Comment obtenir le code d'état HTTP, des exemples de code spécifiques sont requis Préface : Dans le développement Web, l'interaction des données avec le serveur est souvent impliquée. Lors de la communication avec le serveur, nous devons souvent obtenir le code d'état HTTP renvoyé pour déterminer si l'opération a réussi et effectuer le traitement correspondant en fonction de différents codes d'état. Cet article vous apprendra comment utiliser JavaScript pour obtenir des codes d'état HTTP et fournira quelques exemples de codes pratiques. Utilisation de XMLHttpRequest

Quelle est la différence entre les tableaux et les objets en PHP ? Quelle est la différence entre les tableaux et les objets en PHP ? Apr 29, 2024 pm 02:39 PM

En PHP, un tableau est une séquence ordonnée et les éléments sont accessibles par index ; un objet est une entité avec des propriétés et des méthodes, créée via le mot-clé new. L'accès au tableau se fait via l'index, l'accès aux objets se fait via les propriétés/méthodes. Les valeurs du tableau sont transmises et les références d'objet sont transmises.

Qu'est-ce que l'objet Request en PHP ? Qu'est-ce que l'objet Request en PHP ? Feb 27, 2024 pm 09:06 PM

L'objet Request en PHP est un objet utilisé pour gérer les requêtes HTTP envoyées par le client au serveur. Grâce à l'objet Request, nous pouvons obtenir les informations de demande du client, telles que la méthode de demande, les informations d'en-tête de demande, les paramètres de demande, etc., afin de traiter et de répondre à la demande. En PHP, vous pouvez utiliser des variables globales telles que $_REQUEST, $_GET, $_POST, etc. pour obtenir les informations demandées, mais ces variables ne sont pas des objets, mais des tableaux. Afin de traiter les informations demandées de manière plus flexible et plus pratique, vous pouvez

Comment obtenir facilement le code d'état HTTP en JavaScript Comment obtenir facilement le code d'état HTTP en JavaScript Jan 05, 2024 pm 01:37 PM

Introduction à la méthode d'obtention du code d'état HTTP en JavaScript : Dans le développement front-end, nous devons souvent gérer l'interaction avec l'interface back-end, et le code d'état HTTP en est une partie très importante. Comprendre et obtenir les codes d'état HTTP nous aide à mieux gérer les données renvoyées par l'interface. Cet article explique comment utiliser JavaScript pour obtenir des codes d'état HTTP et fournit des exemples de code spécifiques. 1. Qu'est-ce que le code d'état HTTP ? Le code d'état HTTP signifie que lorsque le navigateur lance une requête au serveur, le service

À quoi dois-je faire attention lorsqu'une fonction C++ renvoie un objet ? À quoi dois-je faire attention lorsqu'une fonction C++ renvoie un objet ? Apr 19, 2024 pm 12:15 PM

En C++, il y a trois points à noter lorsqu'une fonction renvoie un objet : Le cycle de vie de l'objet est géré par l'appelant pour éviter les fuites mémoire. Évitez les pointeurs suspendus et assurez-vous que l'objet reste valide après le retour de la fonction en allouant dynamiquement de la mémoire ou en renvoyant l'objet lui-même. Le compilateur peut optimiser la génération de copie de l'objet renvoyé pour améliorer les performances, mais si l'objet est transmis par sémantique de valeur, aucune génération de copie n'est requise.

See all articles