quand je regarde certaines function js publiées sur le web, je remarque
bien souvent qu'une variable interne à une function est déclarée en var,
par ex :
function hsl2rgb(h, s, l)
{
[...]
var rgb_color = "rgb(" + red + "," + green + "," + blue + ")"
return rgb_color
}
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Cenekemoi
quand je regarde certaines function js publiées sur le web, je remarque bien souvent qu'une variable interne à une function est déclarée en var, par ex :
function hsl2rgb(h, s, l) { [...] var rgb_color = "rgb(" + red + "," + green + "," + blue + ")" return rgb_color }
y a t'il un intérêt quelconque ?
Définir une variable avec "var" dans une fonction rend cette variable *locale* à cette fonction. Sinon, elle est globale à toute la page et appartient à l'objet *window* ; ce dernier point peut être intéressant mais peut également s'avérer dangereux car une variable globale peut être modifiée n'importe où dans le script !
-- Cordialement, Thierry ;-)
quand je regarde certaines function js publiées sur le web, je
remarque bien souvent qu'une variable interne à une function est
déclarée en var, par ex :
function hsl2rgb(h, s, l)
{
[...]
var rgb_color = "rgb(" + red + "," + green + "," + blue + ")"
return rgb_color
}
y a t'il un intérêt quelconque ?
Définir une variable avec "var" dans une fonction rend cette variable
*locale* à cette fonction.
Sinon, elle est globale à toute la page et appartient à l'objet *window*
; ce dernier point peut être intéressant mais peut également s'avérer
dangereux car une variable globale peut être modifiée n'importe où dans
le script !
quand je regarde certaines function js publiées sur le web, je remarque bien souvent qu'une variable interne à une function est déclarée en var, par ex :
function hsl2rgb(h, s, l) { [...] var rgb_color = "rgb(" + red + "," + green + "," + blue + ")" return rgb_color }
y a t'il un intérêt quelconque ?
Définir une variable avec "var" dans une fonction rend cette variable *locale* à cette fonction. Sinon, elle est globale à toute la page et appartient à l'objet *window* ; ce dernier point peut être intéressant mais peut également s'avérer dangereux car une variable globale peut être modifiée n'importe où dans le script !
-- Cordialement, Thierry ;-)
yt.trash
Cenekemoi wrote:
Définir une variable avec "var" dans une fonction rend cette variable *locale* à cette fonction.
ah m@&rde ! j'avais compris le contraire, d'où mon étonnement...
mais si hors de toute fonction je déclare une var en var ma_var, là elle est globale, enfin, à la fenêtre...
Sinon, elle est globale à toute la page et appartient à l'objet *window* ; ce dernier point peut être intéressant mais peut également s'avérer dangereux car une variable globale peut être modifiée n'importe où dans le script !
bon je mettrai var partout dans mon function quand ce n'est pas une var globale définie hors de toute function.
c'est quand même bizarre cette syntaxe... -- Une Bévue
Cenekemoi <thierry@no.spam> wrote:
Définir une variable avec "var" dans une fonction rend cette variable
*locale* à cette fonction.
ah m@&rde ! j'avais compris le contraire, d'où mon étonnement...
mais si hors de toute fonction je déclare une var en var ma_var, là elle
est globale, enfin, à la fenêtre...
Sinon, elle est globale à toute la page et appartient à l'objet *window*
; ce dernier point peut être intéressant mais peut également s'avérer
dangereux car une variable globale peut être modifiée n'importe où dans
le script !
bon je mettrai var partout dans mon function quand ce n'est pas une var
globale définie hors de toute function.
c'est quand même bizarre cette syntaxe...
--
Une Bévue
Définir une variable avec "var" dans une fonction rend cette variable *locale* à cette fonction.
ah m@&rde ! j'avais compris le contraire, d'où mon étonnement...
mais si hors de toute fonction je déclare une var en var ma_var, là elle est globale, enfin, à la fenêtre...
Sinon, elle est globale à toute la page et appartient à l'objet *window* ; ce dernier point peut être intéressant mais peut également s'avérer dangereux car une variable globale peut être modifiée n'importe où dans le script !
bon je mettrai var partout dans mon function quand ce n'est pas une var globale définie hors de toute function.
c'est quand même bizarre cette syntaxe... -- Une Bévue
ASM
c'est quand même bizarre cette syntaxe...
var = définir une variable
var en dehors d'une fonction = pour toute la page var dans une fonction = que pour la fonction
important de bien tout varier dans les fonctions ce qui n'a pas à être global : ça diminue les risques de fuite de mémoire dans les IE
Cette syntaxe n'est pas plus bizarre que son inverse (en PHP) où les globales (déclarées en dehors des fonctions) ne sont pas accessibles aux fonctions ... ... sans un appel au tableau des globales
globales qui alors n'ont rien de globales ... (à mon avis)
-- ASM
c'est quand même bizarre cette syntaxe...
var = définir une variable
var en dehors d'une fonction = pour toute la page
var dans une fonction = que pour la fonction
important de bien tout varier dans les fonctions ce qui n'a pas à être
global : ça diminue les risques de fuite de mémoire dans les IE
Cette syntaxe n'est pas plus bizarre que son inverse (en PHP)
où les globales (déclarées en dehors des fonctions)
ne sont pas accessibles aux fonctions ...
... sans un appel au tableau des globales
globales qui alors n'ont rien de globales ... (à mon avis)
var en dehors d'une fonction = pour toute la page var dans une fonction = que pour la fonction
important de bien tout varier dans les fonctions ce qui n'a pas à être global : ça diminue les risques de fuite de mémoire dans les IE
Cette syntaxe n'est pas plus bizarre que son inverse (en PHP) où les globales (déclarées en dehors des fonctions) ne sont pas accessibles aux fonctions ... ... sans un appel au tableau des globales
globales qui alors n'ont rien de globales ... (à mon avis)
-- ASM
yt.trash
ASM wrote:
Cette syntaxe n'est pas plus bizarre que son inverse (en PHP) où les globales (déclarées en dehors des fonctions) ne sont pas accessibles aux fonctions ... ... sans un appel au tableau des globales globales qui alors n'ont rien de globales ... (à mon avis)
php... (ça fait qq années que je n'y ai pas touché)
je n'ai jamais eu dans aucun autre langage de programmation à déclarer une variable comme locale càd interne à une fonction...
en général c'est réglé par le scope...
en Ruby c'est très simple la var est en majuscule dans une fonction ou une classe elle est read-only.
Cette syntaxe n'est pas plus bizarre que son inverse (en PHP)
où les globales (déclarées en dehors des fonctions)
ne sont pas accessibles aux fonctions ...
... sans un appel au tableau des globales
globales qui alors n'ont rien de globales ... (à mon avis)
php... (ça fait qq années que je n'y ai pas touché)
je n'ai jamais eu dans aucun autre langage de programmation à déclarer
une variable comme locale càd interne à une fonction...
en général c'est réglé par le scope...
en Ruby c'est très simple la var est en majuscule dans une fonction ou
une classe elle est read-only.
Cette syntaxe n'est pas plus bizarre que son inverse (en PHP) où les globales (déclarées en dehors des fonctions) ne sont pas accessibles aux fonctions ... ... sans un appel au tableau des globales globales qui alors n'ont rien de globales ... (à mon avis)
php... (ça fait qq années que je n'y ai pas touché)
je n'ai jamais eu dans aucun autre langage de programmation à déclarer une variable comme locale càd interne à une fonction...
en général c'est réglé par le scope...
en Ruby c'est très simple la var est en majuscule dans une fonction ou une classe elle est read-only.