ogólny 2 błędów, to znaczy bardziej niezawodne rozwiązanie
Goops! nawet wszystko jak struny !!!
Z powyższego problemu rozszerzam nazwę obiektu, nazwę właściwości na ciąg Jang! ...
objectname = "obj";
propertyname = "start";
// spróbuj alert (get (objectname + + + + PROPERTYNAME Test). "" "");
function get(path) {
var next = window;
path = path.split(/[\[\]\.]+/);
if (path[path.length - 1] == "") {
path.pop();
};
while (path.length && (next = next[path.shift()]) && typeof next === "object" && next !== null);
return path.length ? undefined : next;
}
Kolejny
function getPropertyValueByPath (obj, path)
{
path = path.split(/[\[\]\.]+/);
if(path[path.length - 1] == "")
{
path.pop();
};
while(path.length && (obj = obj[path.shift()]));
return obj;
}
Wykorzystanie
alert(getPropertyValueByPath(obj,test+ "." + propertyname));
alert(get(objectname + "." + test + "." +propertyname));
dla recommented Way
eval(objectname + "." + test + "." +propertyname)
Another way `eval("obj." + test + ".start")`
a way of insecure and non-advised eval()
Wyjazd http://stackoverflow.com/questions/15561490/variable-variable -in-js/15561537 # 15561537 –