Day.png);">
Apprendre


Vous êtes
nouveau sur
Oniromancie?

Visite guidée
du site


Découvrir
RPG Maker

RM 95
RM 2000/2003
RM XP
RM VX/VX Ace
RM MV/MZ

Apprendre
RPG Maker

Tutoriels
Guides
Making-of

Dans le
Forum

Section Entraide

Sorties: Star Trek: Glorious Wolf - (...) / Sorties: Dread Mac Farlane - episode 3 / News: Plein d'images cools créées par (...) / Sorties: Star Trek: Glorious Wolf - (...) / Jeux: Final Fantasy 2.0 / Chat

Bienvenue
visiteur !




publicité RPG Maker!

Statistiques

Liste des
membres


Contact

Mentions légales

354 connectés actuellement

29189675 visiteurs
depuis l'ouverture

4726 visiteurs
aujourd'hui



Barre de séparation

Partenaires

Indiexpo

Akademiya RPG Maker

Blog Alioune Fall

Fairy Tail Constellations

Alex d'Or

New RPG Maker

Lunae - le bazar d'Emz0

Planète Glutko

Tous nos partenaires

Devenir
partenaire



forums

Index du forum > Entraide > [RESOLU] Question de Js


esziaprez game - posté le 19/05/2018 à 04:27:07 (441 messages postés)

❤ 0

Je suis dans le game !

C'est peut être con mais faut que je pause la question.

Comment fonctionne réellement c'est l’imbrication des variables les unes dans les autres en JS.
D'un point de vue pratique je me suis jamais réellement pausé la question. C'est un un peu comme l'accent circonflexe de forêt et prêt : on est pas obligé de savoir qu'ils se substituent aux "S" pour savoir qu'il faut les mettre.

Je commence à raconter ma vie là Bref un exemple :

Si à l’intérieur d'une fonction faisant partie d'un objet
ex:

Scene_Map.prototype.update

je déclare une variable avec la valeur d'un autre objet où j'ai extrait les données d'un json
ex:

var _dataTalId = $dataTalents[???].id;

si je modifie la valeur de la variable cela va modifier l'objet source
ex:

si je fais _dataTalId++;
je pense que cela va modifier le champ Id de $dataTalents[???]...
Je suppose que oui du moins c'est ce qui se passe.

et si j'utilise

this._dataId = $dataTalents[???].id //flemme de tester

Et aussi quelle fonctions permettent de retourner uniquement le retour ? eval c'est bien ?

est-il possible de récupérer la variable à laquelle une variable renvoi à partir de cette dernière et nom le retour ?
ex:
a partir de _dataId retrouver la valeur "$dataTalents[???].id" et nom le retour

Enfin je me demande pourquoi ? Comment ? Où et Quand ? Si de gens veulent se lancer sur le sujet.

Projet en cours: INRAL / En pause :NEOTORI /// Pause : L'ANKH DE KINBRA /// Pause : GRASS SHOPPER  /// GALERIE


MissLène - posté le 19/05/2018 à 22:28:24 (6 messages postés)

❤ 0

B...Baka...

Edit: la réponse de squonK (ci dessous) est beaucoup plus correcte car elle prend en compte les différentes type de variable.

Je rajouterais quand même que pour les variables par référence, la technique des getteurs marche bien.

La tarée dont on vous a dit de vous méfier. Tsundere à mi-temps.


SquonK - posté le 21/05/2018 à 23:30:44 (51 messages postés)

❤ 0

var poney = '12'
undefined
this.yolo = poney
"12"
this.yolo = '13'
"13"
poney
"12"

____

Tu as deux types de variables : celles qui concernent des valeurs et celles qui concernent des références.
Les valeurs c'est tout ce qui est nombre, caractère, chaîne*.
Les références c'est le reste (tableaux, dictionnaires, objets, fonctions ...)

Spoiler (cliquez pour afficher)



En général, si tu peux faire quelque chose du genre "b = a + 5", ça veut dire que a est une valeur. Si l'opération + n'a pas de sens, (par exemple si a est un tableau), c'est que c'est surement une référence.


var _dataTalId = $dataTalents[???].id;
_dataTalId++;

je pense que cela va modifier le champ Id de $dataTalents[???]...
Je suppose que oui du moins c'est ce qui se passe. -> Vu que id est un nombre, non.
Ce que tu fais est équivalent à
var _dataTalId = $dataTalents[???].id + 1;


est-il possible de récupérer la variable à laquelle une variable renvoi à partir de cette dernière et nom le retour ? -> non
Quand tu fais var _dataTalId = $dataTalents[???].id;, ce que fait javascript, c'est regarder ce qu'il y a dans $dataTalents[???].id, et il le copie dans _dataTalId. Comme c'est un nombre, il copie le nombre. Ensuite javascript oublie totalement d'où il vient.

Si tu veux modifier la valeur dans $dataTalents[???].id, il faut modifier directement le contenu de $dataTalents


MissLène - posté le 22/05/2018 à 11:44:40 (6 messages postés)

❤ 0

B...Baka...

J'ai édité ma réponse qui n'était pas tout à fait correcte pour ne pas embrouiller les gens qui parcoureront ce topic.

Je te confirme que le champ de $dataTalents[???] ne devrait pas être modifié, si c'est le cas c'est qu'il doit y avoir un problème ailleurs.
Pour t'en assurer, j'ai reproduis le problème au minimum (entre cette commande dans la console de ton navigateur et tu verra que tout fonctionne parfaitement) :

Portion de code : Tout sélectionner

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
var DataTalents = {
    12: { id: 12 }
};
 
class SceneMap {
    constructor() {
        this._dataTallId;
    }
}
 
SceneMap.prototype.update = function() {
    var _dataTallId = DataTalents[12].id;
    console.log(_dataTallId); // 12
    _dataTallId++;
    console.log(_dataTallId); // 13
    console.log(DataTalents[12].id); // 12
};
 
SceneMap.prototype.updateThis = function() {
    this._dataTallId = DataTalents[12].id;
    console.log(this._dataTallId); // 12
    this._dataTallId++;
    console.log(this._dataTallId); // 13
    console.log(DataTalents[12].id); // 12
};
 
var scene = new SceneMap();
scene.update();
scene.updateThis();
 



La tarée dont on vous a dit de vous méfier. Tsundere à mi-temps.

Index du forum > Entraide > [RESOLU] Question de Js

repondre up

Suite à de nombreux abus, le post en invités a été désactivé. Veuillez vous inscrire si vous souhaitez participer à la conversation.

Haut de page

Merci de ne pas reproduire le contenu de ce site sans autorisation.
Contacter l'équipe - Mentions légales

Plan du site

Communauté: Accueil | Forum | Chat | Commentaires | News | Flash-news | Screen de la semaine | Sorties | Tests | Gaming-Live | Interviews | Galerie | OST | Blogs | Recherche
Apprendre: Visite guidée | RPG Maker 95 | RPG Maker 2003 | RPG Maker XP | RPG Maker VX | RPG Maker MV | Tutoriels | Guides | Making-of
Télécharger: Programmes | Scripts/Plugins | Ressources graphiques / sonores | Packs de ressources | Midis | Eléments séparés | Sprites
Jeux: Au hasard | Notre sélection | Sélection des membres | Tous les jeux | Jeux complets | Le cimetière | RPG Maker 95 | RPG Maker 2000 | RPG Maker 2003 | RPG Maker XP | RPG Maker VX | RPG Maker VX Ace | RPG Maker MV | Autres | Proposer
Ressources RPG Maker 2000/2003: Chipsets | Charsets | Panoramas | Backdrops | Facesets | Battle anims | Battle charsets | Monstres | Systems | Templates
Ressources RPG Maker XP: Tilesets | Autotiles | Characters | Battlers | Window skins | Icônes | Transitions | Fogs | Templates
Ressources RPG Maker VX: Tilesets | Charsets | Facesets | Systèmes
Ressources RPG Maker MV: Tilesets | Characters | Faces | Systèmes | Title | Battlebacks | Animations | SV/Ennemis
Archives: Palmarès | L'Annuaire | Livre d'or | Le Wiki | Divers