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 24/08/2011, 11h20   #1
Candidat au titre de Membre du Club
 
Inscription : février 2006
Messages : 68
Détails du profil
Informations forums :
Inscription : février 2006
Messages : 68
Points : 10
Points : 10
Envoyer un message via MSN à THkiller
Par défaut #define en javascript

Bonjour à tous,

Je m'excuse d'avance si ce n'est pas la bonne section... ( pas trouvé pour du javascript )

J'ai de bonne base de programmation en C/C++ mais j'ai jamais vraiment essayer d'autre langage et je me lance dans la programmation sur Unity, en passant par du javascript.

J'aurai voulu savoir si il a moyen de faire l'équivalent en javascript d'un define en c++ ( #define MAX 10 par exemple).


Merci.
THkiller est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/08/2011, 14h09   #2
Membre Expert
 
Avatar de gwinyam
 
Homme Mathieu ROBIN
Développeur Web
Inscription : mai 2006
Messages : 1 116
Détails du profil
Informations personnelles :
Nom : Homme Mathieu ROBIN
Âge : 25
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : mai 2006
Messages : 1 116
Points : 2 142
Points : 2 142
Si j'ai bien compris ce que tu veux faire et surtout si je me rappelle bien mes cours de C/C++, finalement, tu veux déclarer une constante avec JavaScript ?

C'est simple : il n'existe pas de constante officiellement en JavaScript.

Certains sites te diront de faire :

ça marche sur Firefox mais attention, c'est une construction propre à FF. Le mot clé const n'existe pas sous IE, mais aussi sous Chrome et apparemment c'est pareil sur Opera.

Il existe cependant une façon de créer des constantes en Javascript qui marchera avec beaucoup de navigateurs :
Code :
Object.defineProperty (window,'MA_CONSTANTE',{ value : 5, writable: false });
C'est bête et moche mais ça marche. Ton objet window qui représente l'objet global contient bien une propriété MA_CONSTANTE et tu peux toujours essayer de la modifier, ça ne marchera pas.
Problème : ça va générer une constante globale. Et comme pour les variables globales : c'est moche et c'est surtout très dangereux.

Je te conseille donc plutôt de cadrer ton dev dans un espace de nom fermé (comme le fait jQuery par exemple) et d'y ajouter tes constantes comme si c'étaient des fonctions. Sur ce principe là :
Code :
1
2
3
4
5
function MA_CONSTANTE() {
   return "valeur";
}
 
alert(MA_CONSTANTE());
__________________
Mon blog techno et son billet hebdomadaire sur l'actualité jQuery. Et mon blog cuisine pour une personne.
Le bouton ne masse pas les pieds, mais ça aide la communauté.
gwinyam est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/08/2011, 14h55   #3
Membre régulier
 
Inscription : octobre 2010
Messages : 65
Détails du profil
Informations forums :
Inscription : octobre 2010
Messages : 65
Points : 87
Points : 87
Attention le "Javascript" sous Unity ne ressemble en rien a du Javascript sur navigateur !

Syntaxiquement ca ressemble plus a de l’ActionScript 3 avec le system de typage des références.Si tu cherche la performance il est conseillé de typer tes déclarations.

Sous Unity les scripts sont compilés, il existe bien une phase de preprocessing conditionnel (#if, #else, #endif) mais pas de possibilité d’écrire des macros (#define) .
p3ga5e 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 16h54.


 
 
 
 
Partenaires

Hébergement Web