Maison > interface Web > js tutoriel > le corps du texte

Comment détecter les propriétés dans le développement Web

php中世界最好的语言
Libérer: 2018-06-04 10:48:55
original
1596 Les gens l'ont consulté

Cette fois, je vais vous montrer comment détecter les attributs en développement web. Quelles sont les précautions pour détecter les attributs en développement web. Voici des cas pratiques, jetons un coup d'œil. Le scénario dans lequel

utilise null (et non défini) est celui de la vérification si une propriété existe dans l'objet , telle que :

// 不好的写法:检测假值if (object[propertyName]) {}// 不好的写法:和null相比较if (object[propertyName] != null) {}// 不好的写法:和undefined比较if (object[propertyName] != undefined) {}
Copier après la connexion

dans le code ci-dessus Chaque jugement vérifie en fait la valeur de l'attribut via le nom donné, plutôt que de juger si l'attribut pointé par le nom donné existe, car lorsque la valeur de l'attribut est une valeur fausse, le résultat sera faux, comme 0 , "" (vide chaîne ), false, null et indéfini. Après tout, ce sont des valeurs légales pour la propriété. Par exemple, si l'attribut enregistre un nombre, la valeur peut être zéro. Dans ce cas, le premier jugement dans le code ci-dessus provoquera une erreur. Par analogie, si la valeur de l'attribut est nulle ou indéfinie, les trois jugements provoqueront des erreurs.

La meilleure façon de déterminer si un attribut existe est d'utiliser l'opérateur in. L'opérateur in déterminera simplement si l'attribut existe, plutôt que de lire la valeur de l'attribut. Cela peut éviter les déclarations ambiguës mentionnées plus tôt dans cette section. L'opérateur in retournera true si les propriétés de l'objet instance existent, ou si hérite de du prototype de l'objet. Par exemple :

var object = {  count: 0,  related: null};// 好的写法if ("count" in object) {  // 这里的代码会执行}// 不好的写法:检测假值if (object["count"]) {  // 这里的代码不会执行}// 好的写法if ("related" in object) {  // 这里的代码会执行}// 好的写法if (object["related"] != null) {  // 这里的代码不会执行}
Copier après la connexion

Si vous souhaitez uniquement vérifier si une certaine propriété de l'objet instance existe, utilisez la méthode hasOwnProperty(). Tous les objets JS qui héritent d'Object ont cette méthode, qui renvoie true si cette propriété existe dans l'instance (si cette propriété n'existe que dans le prototype, elle renvoie false). Il convient de noter que dans IE8 et les versions antérieures d'IE, l'objet DOM n'hérite pas d'Object, il n'inclut donc pas cette méthode. En d’autres termes, vous devez vérifier si l’objet DOM existe avant d’appeler sa méthode hasOwnProperty() (si vous savez déjà que l’objet n’est pas DOM, vous pouvez omettre cette étape).

// 对于所有非DOM对象来说,这是好的写法if (object.hasOwnProperty("related")) {  // 执行这里的代码}// 如果你不确定是否为DOM对象,则这样来写if ("hasOwnProperty" in object && object.hasOwnProperty("related")) {  // 执行这里的代码}
Copier après la connexion

En raison de la situation d'IE8 et des versions antérieures d'IE, pour juger si les attributs de l'objet d'instance existent, je préfère utiliser l'opérateur in, qui n'est utilisé que pour juger les attributs d'instance. hasOwnProperty(). Chaque fois que vous devez vérifier l'existence d'une propriété, utilisez l'opérateur in ou hasOwnProperty(). Faire cela peut éviter de nombreux bugs.

Je pense que vous maîtrisez la méthode après avoir lu le cas dans cet article. Pour des informations plus intéressantes, veuillez prêter attention aux autres articles connexes sur le site Web chinois de php !

Lecture recommandée :

Comment éviter les comparaisons nulles dans le développement Web

Comment détecter les tableaux dans le développement Web

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!

É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
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!