Par exemple, j'ai un tel objet: et un tel code: p> Comment obtenir le nom de l'objet dans la fonction corps. Donc, je veux dire que je devrais savoir que le nom de l'obj est «sombre». P> J'ai essayé d'inspecter l'objet avec Firebug, mais il ne s'agit que de la propriété de l'objet. Il ne montre pas certaines méthodes ou propriétés internes, avec lesquelles je pourrai savoir p> merci. P> p>
5 Réponses :
vous ne pouvez pas. Vous ne passez que l'objet Vous essayez essentiellement de récupérer le nom de la variable qui détenait la valeur avant que la valeur ne soit passée dans la fonction. Ce n'est pas possible. P> {noir: "mauvais", gris: "pas si mauvais '} code> dans test code>. Cet objet n'a pas intrinsèquement le nom "sombre", c'est juste un objet qui existerait comme la propriété sombre code> de l'objet A code>. Cette information est irrémédiablement perdue lors de la transmission d'une fonction. P>
+1 Les objets et les variables sont deux bêtes totalement différentes, chaque objet est mentionné par 0 aux variables de l'infini et ne devrait pas savoir quoi que ce soit à propos d'entre eux.
D'accord. C'est une pitié (pour moi dans ce cas). J'ai compris
Le "nom d'un objet" n'est pas une propriété intrinsèque d'un objet. Un "nom" est le nom dans un contexte donné. Lorsque vous passez un objet à une fonction, vous venez de passer cet objet, pas le contexte dans lequel il a été nommé ("sombre" dans votre exemple). P>
Ce que vous voulez accomplir, vous êtes sur la mauvaise piste. P>
Je viens de conserver des configurations dans des objets et je voulais faire moins de propriétés de la propriété (par exemple, la propriété de type «de type» de nom mais pas de la propriété d'objet 'Type')
Je tiens à vous diriger vers la possibilité de parcourir un objet et de trouver récursivement le nom du parent de certaines biens. Avec elle, votre fonction code> code> ressemblerait à: où Le problème bien sûr est qu'une propriété n'aurait pas besoin d'être unique. Comme dans: p> Eh bien, peut être utilisable. Vous pouvez trouver une démo de la fonction FindParents dans http://jsfiddle.net/kooiinc/kj2b9/ p> p> FindParents code> est: p>
Donc, vous passez dans "sombre" code> comme argument pour savoir avec beaucoup de code que le "nom de l'objet" est "sombre" ...? ;-P
Non, vous passez «sombre» pour connaître le nom de ses parents.
Aucune infraction, mais ne serait-il pas plus facile de concevoir la fonction de fonction (parent, nœud) {var elem = parent [noeud]; } code>? :)
En fait, c'est ce que vous voyez dans FindParents (obj, clé [ rootname]) code>; ~)
Il est possible avec:
var props = [];
loadProps(a, props);
console.log( props.join(",") );
De cette façon, vous pouvez faire P> var a = {
Nom: 'a',
'Light': "Bien",
'foncé' : {
Nom: 'Dark',
'Black': 'Bad',
'gris': "pas si mal"
}
} code> console.log(a.name,a.dark.name);
Reportez-vous à cette question: Stackoverflow.com/questions/722668/... . Il explique comment obtenir le nom et les valeurs d'objet.