Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript
JavaScript Forum programmation JavaScript. Lire : Cours JavaScript, FAQ JavaScript, Toutes les FAQ JavaScript et Sources JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 12/07/2011, 12h33   #1
Membre à l'essai
 
Inscription : juillet 2009
Messages : 93
Détails du profil
Informations forums :
Inscription : juillet 2009
Messages : 93
Points : 20
Points : 20
Par défaut Question évènement onload

Bonjour

Comme je suis débutant en java script,je trouve du mal appréhender quelques concept.
exemple,événement load.
par exemple on écrit

Code :
1
2
function toto(){ blablabala ;}
window.onlaod=function toto();
ceci donne un résultat différent que ci on ecrit:
Code :
window.onlaod=function toto;
( sans les parenthèses).

je comprend pas pourquoi on doit pas mettre les parenthèses.

J'ai besoin d’explication
merci
hellalaboy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/07/2011, 13h00   #2
Rédacteur/Modérateur
 
Avatar de andry.aime
 
Homme Andry Aimé
Inscription : septembre 2007
Messages : 5 128
Détails du profil
Informations personnelles :
Nom : Homme Andry Aimé
Localisation : Ile Maurice

Informations forums :
Inscription : septembre 2007
Messages : 5 128
Points : 7 269
Points : 7 269
Bonjour,
1-
Citation:
java script
javascript
2-
Citation:
window.onlaod
window.onload
3- soit tu faits
Code :
1
2
function toto(){ blablabala ;}
window.onload=function (){toto();};
soit
Code :
1
2
function toto(){ blablabala ;}
window.onload=toto;
A+.
andry.aime est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/07/2011, 13h14   #3
Membre à l'essai
 
Inscription : juillet 2009
Messages : 93
Détails du profil
Informations forums :
Inscription : juillet 2009
Messages : 93
Points : 20
Points : 20
en faite je voulais ecrire
toto(){ blablabala ;}
;

ceci donne un résultat différent que ci on ecrit:
= toto; ( sans les parenthèses).

je ne vois pas la difference entre toto() et toto??
hellalaboy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/07/2011, 13h24   #4
Membre Expert
 
Avatar de Eric2a
 
Homme Eric Garidacci
Inscription : septembre 2005
Messages : 1 057
Détails du profil
Informations personnelles :
Nom : Homme Eric Garidacci
Âge : 41

Informations forums :
Inscription : septembre 2005
Messages : 1 057
Points : 1 564
Points : 1 564
Salut,

Avec les parenthèses on enclenche l'éxecution de la fonction.

Sans les parenthèses, on la réference (on pointe vers elle).
__________________

N'oubliez pas le vote des messages utiles ainsi que le Tag [Résolu].

Mon Site Web : Corse - Actualité, Météo, Vidéos, Logiciels, ...
Eric2a est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/07/2011, 13h29   #5
Rédacteur/Modérateur
 
Avatar de andry.aime
 
Homme Andry Aimé
Inscription : septembre 2007
Messages : 5 128
Détails du profil
Informations personnelles :
Nom : Homme Andry Aimé
Localisation : Ile Maurice

Informations forums :
Inscription : septembre 2007
Messages : 5 128
Points : 7 269
Points : 7 269
andry.aime est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/07/2011, 13h46   #6
Expert Confirmé
 
Avatar de sekaijin
 
Femme
Urbaniste
Inscription : juillet 2004
Messages : 1 421
Détails du profil
Informations personnelles :
Sexe : Femme
Âge : 48
Localisation : France, Yvelines (Île de France)

Informations professionnelles :
Activité : Urbaniste
Secteur : Santé

Informations forums :
Inscription : juillet 2004
Messages : 1 421
Points : 2 809
Points : 2 809
salut la corse

B.A. BA. des langage de programmations (js n'y fais pas exception)
a reçoit la valeur de b quelque soit sa naturea reçoit le résultat de l'appel de la fonction bdonc si toto est une fonctiondonne à a la fonction toto a est donc une fonction don le code est celui de toto.

toto étant un fonction toto() est un appel à cette fonction qui retourne une valeur. a reçoit donc la valeur retourné par l'appel à la fonction toto.

c'est donc normal de ne pas obtenir la même chose.

A+JYT
sekaijin est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/07/2011, 13h59   #7
Expert Confirmé
 
Avatar de javatwister
 
Homme
danseur
Inscription : août 2003
Messages : 2 667
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Calvados (Basse Normandie)

Informations professionnelles :
Activité : danseur

Informations forums :
Inscription : août 2003
Messages : 2 667
Points : 3 035
Points : 3 035
c'est vrai, j'ai jamais pensé à essayer window.onlaod

(puor savior si ça fiasiat un résutlat différnet)
javatwister est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/07/2011, 14h16   #8
Membre Expert
 
Avatar de Eric2a
 
Homme Eric Garidacci
Inscription : septembre 2005
Messages : 1 057
Détails du profil
Informations personnelles :
Nom : Homme Eric Garidacci
Âge : 41

Informations forums :
Inscription : septembre 2005
Messages : 1 057
Points : 1 564
Points : 1 564
Citation:
Envoyé par sekaijin Voir le message
Si toto est une fonctiondonne à a la fonction toto, a est donc une fonction don le code est celui de toto.
Tu m'ammène à me poser une question...

Code :
1
2
3
function toto(){
	return 'Salut';
}
alert( toto() ); renvoie Salut (normal) et... alert(toto); renvoie le code complet.

Est-ce que Javascript fait une copie du code, ou bien pointe t-il à l'endroit où ce situe le code ?
__________________

N'oubliez pas le vote des messages utiles ainsi que le Tag [Résolu].

Mon Site Web : Corse - Actualité, Météo, Vidéos, Logiciels, ...
Eric2a est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/07/2011, 14h19   #9
Responsable Développement Web

 
Avatar de Bovino
 
Homme Didier Mouronval
Développeur Web
Inscription : juin 2008
Messages : 13 807
Détails du profil
Informations personnelles :
Nom : Homme Didier Mouronval
Âge : 41
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : juin 2008
Messages : 13 807
Points : 35 797
Points : 35 797
Citation:
Envoyé par Eric2a
Est-ce que Javascript fait une copie du code, ou bien pointe t-il à l'endroit où ce situe le code ?
Code :
1
2
3
4
5
6
7
8
9
10
function toto(){
    alert('toto');
}
var a = toto;
a();
toto = function(){
    alert('tata');
}
a();
toto()
__________________
Pas de question technique par MP !
Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
Vous possédez un blog et aimeriez diffuser vos billets sur le forum, contactez-moi !
Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
Mon livre sur jQuery
Bovino est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/07/2011, 14h41   #10
Membre Expert
 
Avatar de Eric2a
 
Homme Eric Garidacci
Inscription : septembre 2005
Messages : 1 057
Détails du profil
Informations personnelles :
Nom : Homme Eric Garidacci
Âge : 41

Informations forums :
Inscription : septembre 2005
Messages : 1 057
Points : 1 564
Points : 1 564
Merci Bovino,

Je viens de faire aussi un test en ne redéfinissant pas la fonction première (ici test).

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
function test(){
	return 'Salut';
}
 
alert( test() ); // Affiche Salut
 
var a=test;
 
a.ciao=function(){
	return 'À bienôt';
}
 
alert( a.ciao() ); // Affiche À bientôt
Et bien nous pouvons aussi faire...
Code :
alert( test.ciao() ); // Affiche À bientôt
__________________

N'oubliez pas le vote des messages utiles ainsi que le Tag [Résolu].

Mon Site Web : Corse - Actualité, Météo, Vidéos, Logiciels, ...
Eric2a est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/07/2011, 16h00   #11
Expert Confirmé
 
Avatar de sekaijin
 
Femme
Urbaniste
Inscription : juillet 2004
Messages : 1 421
Détails du profil
Informations personnelles :
Sexe : Femme
Âge : 48
Localisation : France, Yvelines (Île de France)

Informations professionnelles :
Activité : Urbaniste
Secteur : Santé

Informations forums :
Inscription : juillet 2004
Messages : 1 421
Points : 2 809
Points : 2 809
tu défini un premier objet test
Code txt :
1
2
3
4
5
        +-----------+
        |           |
test -->|   func    |
        |           |
        +-----------+
puis tu affect la référence à cet objet à a
Code txt :
1
2
3
4
5
        +-----------+
test -->|           |
        |   func    |
a ----->|           |
        +-----------+
enfin tu ajoute un membre ciao à l'objet
Code txt :
1
2
3
4
5
        +-----------+
test -->|           |
        |   func    |    +-------+
a ----->|   ciao ------->| func2 |
        +-----------+    +-------+

test et a référencent donc le même objet qui est une fonction et contient un membre ciao qui lui aussi est un objet fonction

tu vois bien sur le schéma que test.ciao et a.ciao sont tout deux des référence au même objet fonction

A+JYT
sekaijin est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/07/2011, 18h05   #12
Membre Expert
 
Avatar de Eric2a
 
Homme Eric Garidacci
Inscription : septembre 2005
Messages : 1 057
Détails du profil
Informations personnelles :
Nom : Homme Eric Garidacci
Âge : 41

Informations forums :
Inscription : septembre 2005
Messages : 1 057
Points : 1 564
Points : 1 564
Merci sekaijin,

En fait, j'avais commençé à douter après la lecture de...
Citation:
a = toto donne à a la fonction toto, a est donc une fonction dont le code est celui de toto.
Avec ce schéma, maintenant plus aucun doute, c'est clair et net !


Un excellent tutoriel à été fait conçernant la maitrise de la gestion des variables en PHP... En existe t-il un du même genre pour Javascript ?
__________________

N'oubliez pas le vote des messages utiles ainsi que le Tag [Résolu].

Mon Site Web : Corse - Actualité, Météo, Vidéos, Logiciels, ...
Eric2a est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 06h31.


 
 
 
 
Partenaires

Hébergement Web