Maison > interface Web > js tutoriel > Caractéristiques des attributs de chaîne de prototype associatif dans les compétences JavaScript_javascript

Caractéristiques des attributs de chaîne de prototype associatif dans les compétences JavaScript_javascript

WBOY
Libérer: 2016-05-16 15:15:45
original
1132 Les gens l'ont consulté

Attributs des données :

L'attribut data contient l'emplacement d'une valeur de données à partir de laquelle la valeur peut être lue et écrite.

4 caractéristiques comportementales décrites :

writable indique si la valeur de l'attribut peut être modifiée. La valeur par défaut est vraie

Enumerable indique si la propriété renvoyée via la boucle for in peut être énumérée.

configuralbe indique si l'attribut peut être supprimé et redéfini, et si sa configuration peut être modifiée.

value contient la valeur des données de cet attribut. Lors de la lecture des valeurs d'attribut, lisez à partir de cet emplacement.

Lors de l'écriture des valeurs d'attribut, enregistrez les nouvelles valeurs à cet emplacement. La valeur par défaut de cette fonctionnalité est true.

<script>
function Foo(){}
Foo.prototype.z = 
var obj = new Foo()
obj.x = 
alert("x" in obj) //=>true x是obj对象的自有属性
alert("z" in obj) //=>true z是obj原型上继承来看属性
//hasOwnProperty 必须是对象上的自有的属性才返回true
alert(obj.hasOwnProperty("x")) //true x是obj对象上的自有属性
alert(obj.hasOwnProperty("z")) //false z是obj原型上继承来的属性,不是他的私有属性
alert(Foo.prototype.hasOwnProperty("z")) //=>true z是原型上自有的属性,所以返回true
alert(Object.prototype.hasOwnProperty("toString"))//=>toString 是顶级对象上的自有属性,所以返回true
//prpertyisEnumeralbe 的意思是必是对象上的自有属性而且要以是枚举的,但是对象的可枚举属性Enumeralbe是true,才能返回true
alert(obj.propertyIsEnumerable("x")) //true x是obj对象上可枚举的属性
alert(obj.propertyIsEnumerable("z")) //false z是obj原型上的属性,不是自有属性,则不可以枚举
alert(Foo.prototype.propertyIsEnumerable("z")) //true x是原型上的自有属性,所以可以枚举
</script>
Copier après la connexion

Comment énumérer les propriétés ? Quelle est la différence entre les propriétés énumérées et les prototypes ?

Le code démo est le suivant :

<script>
function Foo(){}
Foo.prototype.age = 
var obj = new Foo()
obj.name = "ziksang"
obj.addr = "上海"
obj.telephone = 
for(var p in obj){ //使用FOR IN 可以枚举出自身的属性和原型上的属性
console.log(p)
}
console.log(Object.keys(obj)) //使用Object.keys(obj)只可以枚举Obj对象上自身的属性
console.log(Object.getOwnPropertyNames(obj)) //Object.getOwnPropertyNames(obj)是列出Ojb对象上自身的属性名,与枚举不相关,但是又类似枚举,大家要注意区分
</script>
Copier après la connexion

Le contenu ci-dessus est la connaissance des caractéristiques des attributs de chaîne de prototype associées en JavaScript introduites par l'éditeur. J'espère qu'il vous sera utile.

Étiquettes associées:
source:php.cn
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal