[英]using variable name instead of it's value with JavaScript and use it to change an “Object” key identifier
[英]Print / display a JavaScript variable's name instead of it's value
是否可以打印/顯示JavaScript變量的名稱? 例如:
var foo=5;
var bar=6;
var foobar=foo+bar;
document.write(foo+ "<br>");
document.write(bar+ "<br>");
document.write(foobar + "<br>");
我們如何打印變量的名稱,以便輸出:
foo
bar
foobar
而不是:
5
6
11
您可以將變量放在對象中,然后以這種方式輕松打印: http : //jsfiddle.net/5MVde/7/
看到小提琴的一切,這是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();
JavaScript for ... in語句循環遍歷對象的屬性。
另一種變化(感謝@elclanrs)如果你不希望foobar
成為一個函數: 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]);}
});
}
另一種可能的解決方案是“Object.keys(this)”....這將為您提供數組中的所有變量名稱。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.