Comprenez d'abord les propriétés de l'énumération
Généralement, utilisation pour ~ en traversée
var a = [1,2,3]; for (var i in a) {console.log (a [i]);} orvar o = {p1: 1, p2: 2}; for (var i in o) {console.log (i + '=' + o [i]);} // p1 = 1; p2 = 2;<1> Tous les attributs ne seront pas affichés dans le pour ~ en traversant. Par exemple (Array) Longueur Attribut et Constructor Attribut. Les propriétés qui ont été affichées sont appelées énumérables, et les propriétés qui sont des énumérables peuvent être déterminées par la méthode PropertyIsEnumerable () fournie par chaque objet;
<2> Chaque attribut de la chaîne prototype sera également affiché, à condition qu'ils soient énumérés, HasownProperty () pour déterminer si une propriété est une propriété propre ou une propriété prototype;
<3> Pour toutes les propriétés prototypes, PropertyIsEnumerable () reviendra faux, y compris ceux énumérables dans le pour ~ en traversant.
Exemple de code JS
Function Dog (name, Color) {this.name = name; this.color = colore; this.someMethod = function () {return 1;}} dog.prototype.price = 100; dog.prototype.rating = 3; var newdog = new Dog ("doggg", "jaune"); pour (var access dans newdog [prop]);} // name = doggg // color = yellow // SomeMethod = function () {return 1;} // prix = 100 // notation = 3NewDog.hasownproperty ('name'); // true; newdog.hasownproperty ('prix'); // false;Ne montre que ses propres attributs
pour (var prop dans newdog) {if (newdog.hasownproperty (prop)) {console.log (prop + '=' + newdog [prop]);}} newdog.propertyisenuablem ('name'); // truenewdog.propertyisenumerable ('constructeur'); // fauxRemarque: La plupart des propriétés et méthodes intégrées ne sont pas énumérées.
Tous les attributs de la chaîne prototype ne sont pas non plus énumérés
Si l'appel à propriétéIsenuMableable () provient d'un objet sur la chaîne prototype, alors les propriétés de cet objet sont énumérables
newdog.constructor.prototype.propertyisenuable ('prix'); // trueisprototypeof (): chaque objet l'a, indiquant si l'objet actuel est un prototype d'un autre objet
Exemple de code JS
var singe = {Hair: True, Feeds: 'Bananas', souffle: 'Air'}; fonction humain (name) {this.name = name;} humain.prototype = singe; var george = new humain ('george'); singe.isprototypeof (George); // true 'Ce qui précède est le HasownProperty (), PropertyIsEnumerable () et IsprototypeOf () dans JS vous présenté par l'éditeur. J'espère que ce sera utile à tout le monde. Si vous avez des questions, veuillez me laisser un message et l'éditeur répondra à tout le monde à temps. Merci beaucoup pour votre soutien au site Web Wulin.com!