【发布时间】:2014-05-25 22:46:53
【问题描述】:
我会尽量说清楚。我在 Javascript 中有一个 DVD 对象。它具有分配给它的一小部分属性。我希望能够通过传递属性名称而不是为每个不同的属性设置一个函数来更改这些值,但我似乎无法完成它,我很确定这是因为我不是对 eval() 函数足够熟悉。
这是我正在使用的代码:
function DVDItem()
{
var Properties = {
DVDShortName: "",
HasActivationKey: true,
NetInstFolderName: "",
AddTitlesCheck: true,
LocalTestCheck: true, }
this.updateProperty = function(propertyName, propertyValue)
{
var specificProperty = eval("Properties." + propertyName);
specificProperty = propertyValue;
}
}
这样我就可以声明一个对象并改变它的属性:
var DVD1 = new DVDItem();
DVD1.updateProperty("HasActivationkey", false);
但我没有正确地做某事,因为这不起作用。 有什么想法吗?
谢谢
【问题讨论】:
-
I'm not familiar enough with the eval() function算了,它不存在 -
使用
Properties[propertyName] -
eval() 被贬低了,还是不应该使用?
-
因为很危险
-
可能会发生意想不到的事情;真的)
标签: javascript oop