Maison  >  Article  >  interface Web  >  Explication détaillée de l'utilisation d'Object dans les compétences javascript_javascript

Explication détaillée de l'utilisation d'Object dans les compétences javascript_javascript

WBOY
WBOYoriginal
2016-05-16 16:17:561132parcourir

Copier le code Le code est le suivant :

fonction pourEach(o){
var html="";
pour(var je dans o){
html = i "=" o[i] " ";
>
console.log(html);
console.log(o);
>

//1
//Objet.create(proto)
//Object.create(proto,descripteurs)
//Créer un objet en utilisant le prototype et les propriétés spécifiés
//Paramètres :
//proto : Le prototype de l'objet nouvellement créé, qui peut être nul
//descripteurs : un objet facultatif qui mappe les noms d'attributs aux descripteurs d'attributs
//Renvoie un objet nouvellement créé, hérité du proto, et possédant les propriétés des descripteurs.

Copier le code Le code est le suivant :

var obj = Objet.create({x:1,y:2},{
z :{valeur :3,inscriptible :true,enumerable :true,configurable :true}
});
pourChaque(obj)
obj.z=5
console.log(obj)
console.log("============================================== = ========")

//2
//Object.defineProperties(o,descriptors)
//Créer ou configurer plusieurs propriétés de l'objet
//Paramètres :
//o : L'objet sur lequel créer ou configurer les propriétés
//descripteurs : objet qui mappe les noms d'attributs aux descripteurs d'attributs
//Retour de l'objet o

Copier le code Le code est le suivant :

Objet.defineProperties(obj,{
a:{value:"a",writable:false,enumerable:true,configurable:true},
b :{valeur :"b",inscriptible :false,enumerable :true,configurable :true}
})
pourEach(obj);
console.log("============================================== = ========")

//3
//Object.defineProperty(o,name,desc)
//Créer ou configurer une propriété de l'objet
//Paramètres :
//o : L'objet sur lequel les propriétés seront créées ou configurées
//name : Nom de l'attribut à créer ou configurer
//desc : Un objet descripteur de propriété décrivant la nouvelle propriété à créer ou la modification de la propriété existante
//Retour de l'objet o

Copier le code Le code est le suivant :

Object.defineProperty(obj,"c",{value:"c",writable:false,enumerable:false,configurable:true})
pourEach(obj);
console.log("============================================== = ========")

//4
//Objet.freeze(o)
//Définit un objet comme immuable et n'affectera pas les propriétés héritées
//Paramètres :
//o : Objet à geler
//Retour vrai|faux

Copier le code Le code est le suivant :

var p = {x:1,y:2>
Objet.freeze(p);
p.x =2;
console.log(p);
console.log(Object.isFrozen(p)) //true, une fois gelé, il ne peut pas être dégelé
console.log("============================================== = ========")

//5
//Object.getOwnPropertyDescriptor(o,name)
//Paramètres :
//o : un objet
//name : nom de l'attribut à interroger
//Interroger les caractéristiques d'un attribut
//Renvoie un objet descripteur de propriété pour la propriété spécifiée de l'objet. Si la propriété spécifiée n'existe pas, renvoie undéfini.
/*
Un descripteur d'attribut est un objet JavaScript ordinaire qui décrit les caractéristiques d'un objet. Il existe deux types d'attributs JavaScript. Les attributs de données ont une valeur et trois propriétés : énumérable,
Les propriétés d'accesseur sont inscriptibles et configurables. Elles ont une méthode getter et/ou setter et une énumérabilité.
Descripteur de l'attribut de données :
{
valeur : n'importe quelle valeur javascript,
inscriptible : vrai|faux,
énumérable : vrai|faux,
configurable : vrai | faux
>
Descripteur de la propriété de l'accesseur :
{
get : fonction ou non défini : remplacer la valeur de l'attribut
set : fonction ou undéfini : remplacer l'écriture
énumérable : vrai | faux,
configurable : vrai | faux
>
*/

Copier le code Le code est le suivant :

var o5 = Object.getOwnPropertyDescriptor(obj,"c");
console.log(o5);
pourChaque(o5);
console.log("============================================== = ========")

//6
//Object.getOwnPropertyNames(o)
//Renvoie le nom de l'attribut non hérité
//Paramètres :
//o : un objet
//Renvoie un nom contenant toutes les propriétés non héritées de o, y compris les propriétés non énumérables. {enumerable:false}

Copier le code Le code est le suivant :

var o6 = Object.getOwnPropertyNames(obj);
console.log(o6);
console.log("============================================== = ========")

//7
//Object.getPrototypeOf(o)
//Paramètres :
//o : un objet
//Renvoie le prototype d'un objet

Copier le code Le code est le suivant :

var o7 =Object.getPrototypeOf(obj);
console.log(o7);
console.log("============================================== = ========")

//8
//Object.hasOwnProperty(propname);
//Paramètres :
//propname est une chaîne contenant le nom de propriété de l'objet
//Vérifier si une propriété est héritée
//Retour vrai|faux

Copier le code Le code est le suivant :

console.log(obj.hasOwnProperty("x")); //=>false
console.log(obj.hasOwnProperty("z")); //=>true
console.log("============================================== = ========")

//9
//Object.isExtensible(o);
//Déterminer si de nouveaux attributs peuvent être ajoutés à un objet
//Paramètres :
//o : Objet dont l'évolutivité doit être vérifiée
//Le retour peut être ajouté comme vrai|ne peut pas être ajouté comme faux
//Description : Tous les objets sont extensibles lors de leur création jusqu'à ce qu'ils soient transmis à Object.preventExtensions(o) Object.seal(o) ou Object.freeze(o);

Copier le code Le code est le suivant :

console.log(Object.isExtensible(obj)); // =>true
//Object.preventExtensions(obj)//Définissez-le comme non extensible
//console.log(Object.isExtensible(obj)); //=>false
console.log("============================================== = ========")

//10
//Object.isFrozen(o)
//Déterminer si l'objet est immuable
//Paramètres :
//o : Objet à vérifier
//Si o a été figé et ne change pas, c'est vrai sinon, c'est faux

Copier le code Le code est le suivant :

console.log("============================================== = ========")

//11
//object.isPrototypeOf(o)
//Déterminer si l'objet actuel est le prototype d'un autre objet
//Paramètres :
//o : Tous les objets
//Si l'objet est le prototype de o, c'est vrai. Si o n'est pas un objet ou si l'objet n'est pas le prototype de o, c'est faux.

Copier le code Le code est le suivant :

var o = nouvel Objet();
Object.prototype.isPrototypeOf(o) // vrai
Array.prototype.isPrototypeOf([1,2]) //true;
Object.prototype.isPrototypeOf(Function.prototype) //true
console.log("============================================== = ========")

//12
//Object.isSealed(o)
//Déterminer si les attributs d'un objet peuvent être ajoutés ou supprimés
//Paramètres :
//o : Objet à vérifier
//Si o est fermé, c'est vrai, sinon c'est faux.
// Un objet est fermé si de nouvelles propriétés (non héritées) ne peuvent pas y être ajoutées et si les propriétés existantes (non héritées) ne peuvent pas être supprimées.
//La méthode couramment utilisée pour fermer un objet est Object.seal(o) ou Object.freeze(o)

console.log("========================================== ===========")

//13
//objet.keys(o)
//Renvoyer le nom de la propriété énumérable gratuitement
//Paramètres :
//o : un objet

Copier le code Le code est le suivant :

console.log(Object.keys({x:1,y:2}) ) //=>[x,y]
console.log("============================================== = ========")

//14
//Object.preventExtensions(o)
//Interdire l'ajout de nouveaux attributs à un objet
//Paramètres :
// o : Objet extensible à définir
//Une fois défini sur non extensible, il ne peut jamais être modifié en extensible

console.log("========================================== ===========")


//15
//object.propertyIsEnumerable(propname)
//Vérifie si un certain attribut est visible dans la boucle for/in
//Paramètres
//propname : une chaîne contenant le nom de propriété spécifié de l'objet
//Si l'objet a une propriété non héritée nommée propname et que la propriété est énumérable, renvoie true.

Copier le code Le code est le suivant :

var o15 = nouvel Objet();
o15.x = 15;
o15.propertyIsEnumerable("x"); //true
o15.propertyIsEnumerable("y"); //false;
o15.propertyIsEnumerable("toString"); //false;
console.log("============================================== = ========")

//16
//Object.seal(o)
//Empêcher l'ajout ou la suppression de propriétés de l'objet
//Paramètres
//o : Objet à fermer
//Renvoie l'objet paramètre fermé o

//17
//Object.toLocaleString()
//Renvoie l'identifiant de chaîne localisé de l'objet
//La méthode toLocaleString() par défaut fournie par la classe Object appelle simplement la méthode toString().
//Mais veuillez noter que les autres classes (Array, Date, Number, etc.) définissent chacune leur propre version de cette méthode. Utilisé pour effectuer une conversion de chaîne localisée. Lors de la définition de votre propre classe, vous devrez peut-être également remplacer cette méthode.

//18
//objet.toString()
//Définir la représentation sous forme de chaîne d'un objet
//Dans les programmes javascript, la méthode toString() n'est généralement pas fréquemment appelée. Généralement, cette méthode est définie dans l'objet et le système l'appellera automatiquement si nécessaire pour convertir l'objet en chaîne.

//19
//Object.valueOf()
//La valeur originale de l'objet donné
//Renvoie la valeur d'origine associée à l'objet spécifié, si une telle valeur existe. S'il n'y a aucune valeur associée à l'objet modifié, renvoie l'objet lui-même

.
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