Я хочу создать выходной интерфейс с HTML-страницей с помощью определения свойств для него, но не могу найти, как я могу установить переменную по имени для свойств.Как установить значение для defineProperty по имени строки?
var _root = {};
var value = 2;
Object.defineProperty(_root, "MyProperty", {
get: function(){
return value;
}
,
set: function(val){
value = val;
},
enumerable: true,
configurable: true
});
function SetValue(nameProperty , value ){
nameProperty = value;
}
function GetValue(nameProperty){
return eval(nameProperty);
}
SetValue("_root.MyProperty","35"); // This function is called from C# webBrowser.Document.InvokeScript("SetValue" , new Object[]{"_root.MyProperty","35" });
console.log(GetValue("_root.MyProperty"));
Редактировать Я попытался установить значение с помощью Eval, но он не работает.
function SetValue(nameProperty , value ){
var ob = eval(nameProperty);
ob =value;
}
Ваш код работает. В чем проблема? – Andrew
Мне нужно установить значение, но знать только свойство по строке. Например, eval («_ root.MyProperty») = 34 не работает – askeet
'defineProperty (_root, propname, {...})' –