Créee un variable avec du texte et une variable

L’auteur de ce sujet a trouvé une solution à son problème.
Auteur du sujet

Bonsoir, sa fait un moment que je recherche mais pas moyen. Je voudrais savoir si il est possible de faire php ${'chaine'.$variable} en js

Je voudrais faire la même chose en js soit créer un variable a partir de texte et d’une variable.

Pour l’exemple, je voudrais avoir canvas_1 mais sa peut être canvas_2 ..... c’est pourquoi je dois me crée un variable avec un parti de texte commun qui est canvas_ et ajouté 1 ou 2 ou 3 … qui ce trouve est une variable

Merci de votre aide

Édité par stephcache

+0 -0

C’est sale de faire des noms de variables avec des données d’autres variables comme ça, surtout avec un eval. Ca fait du code pas lisible et difficile à faire évoluer, ça aide pas à déboguer, ça peut être dangereux (t’es sûr qu’on peut pas injecter du code avec ta variable qui sert à mettre le numéro ?). C’est bien plus simple de faire un tableau associatif. ;)

+2 -0

Moi je répondais juste à sa requête, et ce de manière à correspondre à ce qui c’était énoncé.

En un peu plus propre il y a avec window["chaine"+variable] = valeur, mais ça fait une variable globale, donc pas forcément top et scope["chaine"+variable] = valeur pour une portée plus locale.

+0 -0

t’es sûr qu’on peut pas injecter du code avec ta variable qui sert à mettre le numéro ?

Society

Oui, cette méthode le permet clairement.

Si c’est du code exécuté chez le client, je ne vois pas la différence cela dit. Il s’édite sans aucun problème au sein du navigateur. Si c’est du code côté serveur, ça n’est pas la même (mais on a aucune info la dessus).

Quand la requête est une mauvaise piste, il est souvent nécessaire de réorienter le problème.

entwanne

non ce n’est pas un tableau associatif, je veux créer une variable avec un mot plus une variable

stephcache

Ma première réponse était selon moi la plus adaptée aux vues de ses attentes. Comme il disait ne pas vouloir de tableau associatif, j’ai supposé qu’il avait déjà trouvé avec les tableaux.

+0 -0

On est surtout ici en flagrant délit de X Y Problem, et on ne sait toujours pas quel est le problème initial.

Il y a juste fort à parier qu’eval ne soit pas la solution. Et qu’il ne soit pas nécessaire de déclarer dynamiquement de variable, il a sûrement envisagé cette solution à cause d’une mauvaise habitude de PHP.

Si c’est du code exécuté chez le client, je ne vois pas la différence cela dit. Il s’édite sans aucun problème au sein du navigateur.

Je ne vois pas bien ce que tu veut dire par là, mais même côté client, un eval peut poser de très gros problèmes si un utilisateur α arrive à injecter du JavaScript malicieux dans le navigateur d’un utilisateur β. α risque de pouvoir récupérer des information privées de β (par exemple, il suffit juste que le JS malicieux injecté par α récupère les infos sur la page web, et envoie tout avec une XHR vers un serveur de α).

Et c’est le genre de failles qui arrivent vite avec eval ou HTMLElement.prototype.innerHTML, entre autres.

Édité par motet-a

+0 -0
Auteur du sujet

Bonsoir tous le monde, j’utilise node webkit pour me développé un programme donc rien en ligne. Entwanne tu parlais de mauvaise habitude de php, c’est bien une variable dynamique que je voulais faire, car en php je sais que je peux le faire et je voulais savoir si en js été possible aussi. Après si il y a une autre solution de eval pour crée une variable dynamique je veux bien

+0 -0

C’est une extrêmement mauvaise idée d’utiliser eval, comme ça a déjà été dit. En plus ça force un bailout sur toute la fonction qui contient ton eval, ton code pourrait tourner quelques centaines de fois plus lentement que prévu.

Il ne faut pas utiliser eval.

Vous aimez le frontend ? Il y a un tas de petites tâches faciles si vous voulez contribuer à ZdS : https://github.com/zestedesavoir/zds-site/issues?q=is%3Aissue+is%3Aopen+label%3AC-Front

+2 -0
Auteur du sujet

je veux bien ne pas utilisé eval mais mit a part sa, je vois pas comment faire.

Dans une fonction je récupère l’image contenu dans un canvas en base 64 que je met dans une variable window.canvas_1 = "image en base 64", window.canvas_2 = "autre image en base 64". Dans une autre fonction je récupérais l’image lier au canvas 1 ou 2 d’ou utilisation d’une variable dynamique

Édité par stephcache

+0 -0
Auteur du sujet

window.canvas pour pourvoir sortir d’une fonction et la récupéré dans une autre fonction. Par conte je comprend pas l’histoire avec les tableaux !!

Édité par stephcache

+0 -0
Vous devez être connecté pour pouvoir poster un message.
Connexion

Pas encore inscrit ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte