bah, il cherche une méthode
Version imprimable
bah, il cherche une méthode
une méthode est une propriété qui contient une fonction, donc ça revient au même. :)
ceci dit je sais pas si IE liste les méthodes.
bon ben merci encore de vos efforts, il va falloir que je reparte à la chasse pour retrouver le site sur lequel j'avais trouvé le truc ...
pas d'accord pour les méthodes de données primaires comme String; tu ne pourras pas faire en sorte que charAt(5), mettons, soit considéré comme une propriété, à moins de le définir toi-même dans un constructeur; et de la à boucler sur toutes les méthodes, bonjour la procédureCode:une méthode est une propriété qui contient une fonction, donc ça revient au même
ce *$%¨^§! de langage reste à inventer
bien évidemment que charAt(5) n'est pas une propriété, mais chatAt (tout court) est une propriété de l'objet String.
il est d'ailleur permis de la redéfinir :
tu peux même mettre une chaine de caractère dans la propriété charAt, ça marche pareil.Code:
1
2
3
4
5
6
7
8
9
10 <script> function foo(txt) { alert(txt); } str = "abcdef"; //pour une fois j'ai pas envie d'utiliser String.prototype str.constructor.prototype.charAt = foo; str2 = "0123456789"; str2.charAt('test'); </script>
une méthode est une propriété qui contient une fonction : c'est la base de tous les objets javascript.
nonobstant je ne suis pas sûr d'avoir bien compris la fin de ton message.
d'où ce que je disais: tu peux extraire la "propriété" de la méthode, mais ce sera tjrs pénible;
tout ça pour dire que tu peux boucler suravec for / in, tu n'obtiendras rien ou presqueCode:var str="peu importe";
tu est d'accord que je suis censé au moins obtenir la propriété length ?
pourquoi la propriété length n'apparait-elle pas ?Code:
1
2
3
4
5
6 <script> str = new String("peu importe"); for (prop in str) { document.writeln(prop+' = '+str[prop]+'<br />'); } </script>
vous avez 4 heures pour disserter sur le sujet.
:p
il me semblais pourtant avoir déjà dans le passé bouclé sur certains objets et que j'obtennais des function truc() { [native code] } contrairement à IE qui ne m'affichait que les propriétés.
j'ai l'impression de ne pouvoir boucler que sur DOM maintenant. :?
ouais j'avais essayé, c'est dément...
et t'as vu ce que sort Ffx? à mon avis, c'est son interprétation de length :roll:
pour tes native code, c'est en général ce qui ressort d'un eval sur un objet / une fonction natifs (alert, open, String...)
les nombres de 0 à length-1 sont bel et bien des propriétés de la chaine de caractère.
sous netscape et mozilla une chaine de caractère est aussi un tableau où chaque item contient un caractère.
la seul différence c'est qu'on ne peux pas créer/appeller de propriété commençant par un chiffre avec la syntaxe objet.propriété.Code:
1
2
3
4 <script> str = "peu importe"; alert(str[0]);//on peut aussi faire str['0'] </script>
le [native code] c'est ce que tu obtiendra si tu fais :
ou toute autre action qui aurait pour but de te montrer le code d'une fonction native.Code:
1
2
3
4
5
6 <script> alert(window.alert); alert(window.alert.toSource()); alert(window.alert.toString()); alert(window.alert.valueOf()); </script>