1. Introduction aux objets JavaScript
1. Qu'est-ce qu'un objet ? Les objets sont des objets dans les programmes et les programmes sont utilisés pour décrire le monde réel. Par exemple, si vous souhaitez écrire un programme pour gérer les informations de chacun, voici les informations de chacun (taille, poids, etc.). Si vous souhaitez gérer ces informations efficacement, vous devez les mettre. dans un conteneur (objet) géré dans.
Résumé :
* représente quelque chose dans la réalité et est l'abstraction de cette chose dans la programmation (les données sont un type de données de référence)
* de plusieurs données Collecte (encapsulation)
* Conteneur pour sauvegarder plusieurs données
2. Pourquoi utiliser des objets ?
Facilite la gestion unifiée de plusieurs données
3. Composition des objets (propriétés + méthodes)
*Attributs :
*Représente les données d'état des choses réelles
*Composé de noms d'attributs et de valeurs d'attribut
*Les noms d'attributs sont tous des types de chaînes et les valeurs d'attributs sont de n'importe quel type
*Méthodes
* Données comportementales représentant des choses réelles
*Les méthodes sont des attributs spéciaux (lorsque la valeur de l'attribut est une fonction)
const p={ name:'tom',//属性:属性值不是函数 setName:function (name){//方法:属性值为函数------这个也是属性 this.name=name; }, 'age':23,//属性名是字符串'age'或是‘setAge’ 'setAge':function(age){ this.age=age; } } console.log(p.setName('jack'),p.name);//undefined "jack" p['setAge'](34);//这是函数 console.log(p['age']);//34
4. Comment accéder aux données à l'intérieur de l'objet ?
* .Nom de l'attribut : Codage simple. Mais parfois, il ne peut pas être utilisé
*['Nom de l'attribut'] : L'encodage est gênant, mais il est universel (notez que lors de l'utilisation de ce paramètre de réglage, l'accès doit également se faire de cette manière)
eg:b={ 'a':3}/b=['a']-----a> est une chaîne plutôt qu'une variable
b[a]=3---- --->Il s'agit de variables
5. Quand la méthode ['property name'] doit-elle être utilisée ?
a. Le nom de l'attribut comporte des caractères spéciaux (tels que le type de contenu)
b. Le nom de l'attribut est incertain (le nom de l'attribut est une variable)
var obj={}; //给对象添加一个属性:'content-type':'text/json' //obj.content-type='text/json';//报错了,有横杆不是合法标识名 obj['content-type']='text/json'; console.log(obj['content-type']); //要对象添加一个属性,但是属性名不确定(不确定的东西要定义成变量) var propName='my name'; var value='jack'; //obj.propName=value; //console.log(obj)//obj={propName:'jack'} //obj.propName不能用这个,因为想要的属性名是my name而不是propName,所以要用obj['propName']=value; obj[propName]=value; console.log(obj['propName']) console.log(obj)//obj={'my name':'jack'}
6. classes et objets
Les objets sont générés à partir de classes, et les objets d'une classe sont une instance (comme un moule à gâteau de lune et un moule à gâteau de lune)
7 Vérifiez si l'objet appartient à une certaine classe
Objet. instanceof type
8.Opération
(1).Créer un objet de type objet
Méthode de création : new class name(); //La méthode de création d'objets de tout type est courante.
Par exemple : var obj = new Object();
Raccourci pour créer un objet de type Object : var obj = {};
(2) Ajouter ou modifier des attributs : <🎜. > Méthode 1 :
Object.Attribute name = data;
Méthode 2 :
Object ["Attribute name"] = data; // Les crochets doivent être des chaînes ou des variables qui stockent des chaînes
(3 ). Recherchez la
méthode 1 :
object.property name ;
la deuxième méthode :
object ["property name"] ;
(4). Méthode 1 :
supprimer l'objet.Nom de l'attribut ;//retourner la valeur booléenne, vrai signifie que la suppression est réussie
Méthode 2 :
supprimer l'objet ["nom de l'attribut"];//retourner la valeur booléenne, vrai signifie la suppression réussit
(5). Détecte si un certain attribut existe dans un objet
Object.hasOwnProperty("property name"); //S'il existe, renvoie true, sinon renvoie false
(6) La deuxième façon d'ajouter des paires clé-valeur aux objets de type .Object :
var obj = {Nom de l'attribut : données, nom de l'attribut : données, nom de l'attribut : données...}
;
2. Liezi
1. Combien produit console.log(a[obj1]) ?
var a={}; var obj1={n:2}; var obj2={n:3} a[obj1]=4; a[obj2]=5; console.log(a[obj1])//输出5 // console.log(a)知道属性名是[object Object] ,通过这个想到对象的属性名都是字符串,对象如果转换字符串:是obj.toString(),这个是固定的方法,返回的[object Object] ,所以obj1,obj2返回是一样属性名[object Object] 。所以a[obj2]是对a[obj1]的覆盖
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!