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 ...
Ma page Developpez - Mon Blog Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag![]()
Venez sur le Chat de Développez !
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édure
Code : Sélectionner tout - Visualiser dans une fenêtre à part 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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 presque
Code : Sélectionner tout - Visualiser dans une fenêtre à part 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 : Sélectionner tout - Visualiser dans une fenêtre à part
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
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 <script> alert(window.alert); alert(window.alert.toSource()); alert(window.alert.toString()); alert(window.alert.valueOf()); </script>
Partager