Heim >Web-Frontend >js-Tutorial >Detaillierte Erläuterung der Verwendung von Objekten in Javascript_Javascript-Kenntnissen

Detaillierte Erläuterung der Verwendung von Objekten in Javascript_Javascript-Kenntnissen

WBOY
WBOYOriginal
2016-05-16 16:17:561165Durchsuche

Code kopieren Der Code lautet wie folgt:

Funktion forEach(o){
var html="";
for(var i in o){
html = i "=" o[i] " ";
}
console.log(html);
console.log(o);
}

//1
//Object.create(proto)
//Object.create(proto,descriptors)
//Erstelle ein Objekt mit dem angegebenen Prototyp und den angegebenen Eigenschaften
//Parameter:
//proto: Der Prototyp des neu erstellten Objekts, der null sein kann
//Deskriptoren: ein optionales Objekt, das Attributnamen Attributdeskriptoren zuordnet
//Gib ein neu erstelltes Objekt zurück, das von Proto geerbt wurde und die Eigenschaften von Deskriptoren hat.

Code kopieren Der Code lautet wie folgt:

var obj = Object.create({x:1,y:2},{
z:{value:3,writable:true,enumerable:true,configurable:true}
});
forEach(obj)
obj.z=5
console.log(obj)
console.log("=========================================== = ========")

//2
//Object.defineProperties(o,descriptors)
//Erstellen oder konfigurieren Sie mehrere Eigenschaften des Objekts
//Parameter:
//o: Das Objekt, für das Eigenschaften erstellt oder konfiguriert werden sollen
//descriptors: Objekt, das Attributnamen Attributdeskriptoren zuordnet
//Objekt zurückgeben o

Code kopieren Der Code lautet wie folgt:

Object.defineProperties(obj,{
a:{value:"a",writable:false,enumerable:true,configurable:true},
b:{value:"b",writable:false,enumerable:true,configurable:true}
})
forEach(obj);
console.log("=========================================== = ========")

//3
//Object.defineProperty(o,name,desc)
//Erstellen oder konfigurieren Sie eine Eigenschaft des Objekts
//Parameter:
//o: Das Objekt, für das Eigenschaften erstellt oder konfiguriert werden
//name: Name des zu erstellenden oder zu konfigurierenden Attributs
//desc: Ein Eigenschaftsdeskriptorobjekt, das die neu zu erstellende Eigenschaft oder die Änderung der vorhandenen Eigenschaft beschreibt
//Objekt zurückgeben o

Code kopieren Der Code lautet wie folgt:

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

//4
//Object.freeze(o)
//Ein Objekt als unveränderlich festlegen und keine Auswirkungen auf geerbte Eigenschaften haben
//Parameter:
//o: Objekt, das eingefroren werden soll
//Gib true|false

zurück

Code kopieren Der Code lautet wie folgt:

var p = {x:1,y:2}
Object.freeze(p);
p.x =2;
console.log(p);
console.log(Object.isFrozen(p)) //true, sobald es eingefroren ist, kann es nicht mehr entfroren werden
console.log("=========================================== = ========")

//5
//Object.getOwnPropertyDescriptor(o,name)
//Parameter:
//o: ein Objekt
//name: Attributname, der abgefragt werden soll
//Fragen Sie die Eigenschaften eines Attributs ab
//Ein Eigenschaftsdeskriptorobjekt für die angegebene Eigenschaft des Objekts zurückgeben. Wenn die angegebene Eigenschaft nicht vorhanden ist, geben Sie undefiniert zurück.
/*
Ein Attributdeskriptor ist ein gewöhnliches JavaScript-Objekt, das die Eigenschaften eines Objekts beschreibt. Es gibt zwei Arten von JavaScript-Attributen. Datenattribute haben einen Wert und drei Eigenschaften: aufzählbar,
Beschreibbare und konfigurierbare Accessor-Eigenschaften verfügen über eine Getter- und/oder Setter-Methode sowie Aufzählbarkeit.
Deskriptor des Datenattributs:
{
Wert: beliebiger Javascript-Wert,
beschreibbar: wahr|falsch,
aufzählbar: wahr|falsch,
konfigurierbar:true|false
}
Deskriptor der Accessor-Eigenschaft:
{
get: Funktion oder undefiniert: Attributwert ersetzen
set: Funktion oder undefiniert: Beschreibbarkeit ersetzen
enumerable:true|false,
konfigurierbar:true|false
}
*/

Code kopieren Der Code lautet wie folgt:

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

//6
//Object.getOwnPropertyNames(o)
//Gib den Namen des nicht geerbten Attributs zurück
//Parameter:
//o: ein Objekt
//Gib einen Namen zurück, der alle nicht geerbten Eigenschaften von o enthält, einschließlich nicht aufzählbarer Eigenschaften. {enumerable:false}

Code kopieren Der Code lautet wie folgt:

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

//7
//Object.getPrototypeOf(o)
//Parameter:
//o: ein Objekt
//Den Prototyp eines Objekts zurückgeben

Code kopieren Der Code lautet wie folgt:

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

//8
//Object.hasOwnProperty(propname);
//Parameter:
//propname ist eine Zeichenfolge, die den Eigenschaftsnamen des Objekts
enthält //Überprüfen Sie, ob eine Eigenschaft vererbt wird
//Gib true|false

zurück

Code kopieren Der Code lautet wie folgt:

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

//9
//Object.isExtensible(o);
//Bestimmen Sie, ob einem Objekt neue Attribute hinzugefügt werden können
//Parameter:
//o: Objekt, das auf Skalierbarkeit überprüft werden soll
//Return kann als true hinzugefügt werden|kann nicht als false hinzugefügt werden
//Beschreibung: Alle Objekte sind beim Erstellen erweiterbar, bis sie an Object.preventExtensions(o), Object.seal(o) oder Object.freeze(o);

übergeben werden

Code kopieren Der Code lautet wie folgt:

console.log(Object.isExtensible(obj)); // =>true
//Object.preventExtensions(obj)//Legen Sie es als nicht erweiterbar fest
//console.log(Object.isExtensible(obj)); //=>false
console.log("=========================================== = ========")

//10
//Object.isFrozen(o)
//Bestimmen Sie, ob das Objekt unveränderlich ist
//Parameter:
//o: Zu prüfendes Objekt
//Wenn o eingefroren wurde und sich nicht ändert, ist es wahr; andernfalls ist es falsch;

Code kopieren Der Code lautet wie folgt:
console.log("=========================================== = ========")

//11

//object.isPrototypeOf(o)
//Bestimmen Sie, ob das aktuelle Objekt der Prototyp eines anderen Objekts ist
//Parameter:
//o: Alle Objekte
//Wenn Objekt der Prototyp von o ist, ist es wahr. Wenn o kein Objekt ist oder Objekt nicht der Prototyp von o ist, ist es falsch.

Code kopieren Der Code lautet wie folgt:
var o = new Object();
Object.prototype.isPrototypeOf(o) // true
Array.prototype.isPrototypeOf([1,2]) //true;
Object.prototype.isPrototypeOf(Function.prototype) //true
console.log("=========================================== = ========")

//12

//Object.isSealed(o)
//Bestimmen Sie, ob die Attribute eines Objekts hinzugefügt oder gelöscht werden können
//Parameter:
//o: Zu prüfendes Objekt
//Wenn o geschlossen ist, ist es wahr, andernfalls ist es falsch.
// Ein Objekt wird geschlossen, wenn ihm keine neuen (nicht geerbten) Eigenschaften hinzugefügt werden können und vorhandene (nicht geerbte) Eigenschaften nicht entfernt werden können.
//Die häufig verwendete Methode zum Schließen eines Objekts ist Object.seal(o) oder Object.freeze(o)

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

//13

//object.keys(o)
//Kostenlos aufzählbaren Eigenschaftsnamen zurückgeben
//Parameter:
//o: ein Objekt

Code kopieren Der Code lautet wie folgt:
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

.
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn