Si un objet JS a un certain attribut
Deux manières, mais légèrement différentes
1, dans l'opérateur
var obj = {name:'jack'}; alert('name' in obj); // --> true alert('toString' in obj); // --> true
Vous pouvez voir que qu'il s'agisse de name ou de toString sur la chaîne prototype, on peut détecter qu'il renvoie true.
2. La méthode hasOwnProperty
var obj = {name:'jack'}; obj.hasOwnProperty('name'); // --> true obj.hasOwnProperty('toString'); // --> false
Les propriétés héritées de la chaîne de prototypes ne peuvent pas être détectées par hasOwnProperty et renvoient false.
Il convient de noter que bien que in puisse détecter les propriétés de la chaîne prototype, in ne le peut généralement pas.
Bien sûr après réécriture du prototype, car in est visible sous IE9/Firefox/Safari/Chrome/Opera. Voir : Défauts de pour dans
Merci d'avoir lu, j'espère que cela pourra aider tout le monde, merci pour votre soutien à ce site !
Pour plus d'articles sur la façon de déterminer si un objet JS possède un certain attribut, veuillez faire attention au site Web PHP chinois !