var c=$('<canvas></canvas>')[0].getContext('2d')
for(m in c){console.log(m)}
This prints a list of methods in CanvasRenderingContext2D. How can I do the same for an Array. I want to get "splice", "pop", "push", etc. Obviously for(m in Array.prototype){console.log(m)} won't work.
3 Réponses :
la plupart des méthodes et des propriétés d'objets intégrés sont marqués en interne comme non énumérable, ils ne seront donc pas énumérés dans une boucle code> code> p> ECMAScript 5 a un mais ce n'est pas encore pris en charge par tous les navigateurs. p> p> objet.getownPropertyNames code> méthode qui renvoie une matrice de tous les noms de propriété, de sorte que Vous pouvez faire: p>
Je n'ai aucune idée de la façon de le faire avec une JS plaine. J'ai généralement des sous-vasques chargées de la fourmi chargées, il a une fonction qui renvoie toutes les fonctions d'un objet p>
http://documentcloud.github.com/underscore/#Functions P >
Vous pouvez vérifier le code de soussecorejs pour vérifier comment ils le font. P>
Faites ceci: sortie: strong> p>
Ce n'est pas la même chose que d'obtenir les propriétés sur une instance de tableau / prototype, ce qui n'est pas insuffisant. C'est une coïncidence que de nombreuses propriétés Array.x CODE> sont nommées identiques telles que array.pototype.x code> propriétés.
Où avez-vous obtenu cette sortie de toute façon? Cela ne fonctionne pas pour moi sur FF4. La seule propriété standard de code> code> est array.isarray code> et qui est à nouveau non énumérable.
Vous voudrez peut-être ajouter un si (type de m === 'fonction') code> à cela, donc vous n'obtenez que des fonctions.
Ne fonctionne pas pour moi sur Chrome, IE8, FF 3.6. Je n'ai aucune idée de la façon dont vous avez cette sortie. Le constructeur Array n'a pas de propriétés autant que je puisse tester.
J'utilise Chrome 9.0.597.10 Dev.
Cela a travaillé pour moi à Chrome, IE8, Safari, FF3, Opéra. Et si vous utilisez HABALPROPERTY CODE>, vous devriez pouvoir séparer les propres accessoires de l'inhéatence prototypale et de la matrice. Jsfiddle.net/b4nyz