Est-il possible d'imprimer/d'afficher le nom d'une variable JavaScript? Par exemple:
var foo=5;
var bar=6;
var foobar=foo+bar;
document.write(foo+ "<br>");
document.write(bar+ "<br>");
document.write(foobar + "<br>");
Comment pourrions-nous imprimer les noms de la variable pour que le résultat soit:
foo
bar
foobar
Plutôt que:
5
6
11
Vous pouvez mettre les variables dans un OBJET puis les imprimer facilement de cette façon: HTTP://JSFIDDLE.NET/5MVDE/7/
Voir le violon pour tout, c'est le JavaScript ...
var x = {
foo: 5,
bar: 6,
foobar: function (){
var that=this;
return that.foo+that.bar
}
};
var myDiv = document.getElementById("results");
myDiv.innerHTML='Variable Names...';
for(var variable in x)
{
//alert(variable);
myDiv.innerHTML+='<br>'+variable;
}
myDiv.innerHTML+='<br><br>And their values...';
myDiv.innerHTML+='<br>'+x.foo+'<br>'+x.bar+'<br>'+x.foobar();
L'instruction JavaScript FOR ... IN parcourt les propriétés d'un OBJET.
Une autre variante (merci @elclanrs) si vous ne voulez pas que foobar
soit une fonction: HTTP://JSFIDDLE.NET/FQ5HE/2/
Utils = {
eventRegister_globalVariable : function(variableName,handlers){
eventRegister_JsonVariable(this,variableName,handlers);
},
eventRegister_jsonVariable : function(jsonObj,variableName,handlers){
if(jsonObj.eventRegisteredVariable === undefined) {
jsonObj.eventRegisteredVariable={};//this Object is used for trigger event in javascript variable value changes ku
}
Object.defineProperty(jsonObj, variableName , {
get: function() {
return jsonObj.eventRegisteredVariable[variableName] },
set: function(value) {
jsonObj.eventRegisteredVariable[variableName] = value; handlers(jsonObj.eventRegisteredVariable[variableName]);}
});
}
Une autre solution possible peut être "Object.keys (this)" .... Cela vous donnera tous les noms de variables dans un tableau.