如何将变量值指定为对象属性名称? [英] How to assign variable value as the object property name?
问题描述
如何获取变量的值(在这种情况下,
MODE_CREATE,MODE_UPDATE等)并将其用作对象属性名称?
在下面的例子中我希望''oIcon''对象具有属性:
mode1,mode2和mode3。
这似乎很简单但我无法弄清楚...
任何人的想法?
var MODE_CREATE =" mode1" ;;
var MODE_UPDATE =" mode2";
var MODE_DELETE =" mode3";
var oIcon = {
MODE_CREATE:" create.gif"
,MODE_UPDATE:" update.gif"
,MODE_DELETE:" delete.gif"
};
var oTitle = {
MODE_CREATE:"创建新项目......
, MODE_UPDATE:更新此项目......
,MODE_DELETE:删除此项目......
};
>
sn****@mxlogic.com 写道:怎么样可以获取变量的值(在这种情况下,
MODE_CREATE,MODE_UPDATE等)并将其用作对象属性名称?
在下面的示例中,我想要''oIcon ''反对拥有这些属性:
mode1,mode2和mode3。
这看起来很简单但我无法弄明白......
>任何人的想法?
var MODE_CREATE =" mode1" ;;
var MODE_UPDATE =" mode2" ;;
var MODE_DELETE =" mode3" ;;
var oIcon = {
MODE_CREATE:" create.gif"
,MODE_UPDATE:" update.gif"
,MODE_DELETE:" delete.gif"
} ;
var oTitle = {
MODE_CREATE:"创建新项目......
,MODE_UPDATE:更新此项目......
,MODE_DELETE:删除此项目......
};
可能不想为此目的使用对象*文字*:
标识符成为属性名而不进行评估。试试这个:
< html>
< head>
< title>无标题< / title>
< / head>
< body>
< pre>
< script type =" text / javascript">
var MODE_CREATE =" mode1" ;;
var MODE_UPDATE =" mode2";
var MODE_DELETE =" mode3";
var oIcon = Object();
oIcon [MODE_CREATE] =" create.gif";
oIcon [MODE_UPDATE] =" update.gif";
oIcon [MODE_DELETE] =" delete.gif";
var oTitle = Object();
oTitle [MODE_CREATE] ="创建新项目......  ;;
oTitle [MODE_UPDATE] ="更新此项目。 .." ;;
oTitle [MODE_DELETE] ="删除此项目..." ;;
var a = [];
a.push('' - oIcon-\ n'');
for(prop in oIcon)
a.push(prop +' ':''+ oIcon [pr op]);
a.push(''\ n-oTitle-\ n'');
for(prop in oIcon)
a.push(prop +'':''+ oTitle [prop]);
document.writeln(a.join(''\ n''));
< / script>
< / pre>
< / body>
< / html>
这可能是一种更系统的方法,可以避免重复...
好吧:
{eval(MODE_CREATE +'':" create.gif"''),...}
是的,我知道,不是那么优先,但不能说我已经检查了其他或
可以看到其他方式。
Danny
2005年6月29日星期三11:33:43 -0700,< sn **** @ mxlogic.com>写道:
如何获取变量的值(在这种情况下,
MODE_CREATE,MODE_UPDATE等)并将其用作对象属性名称? br />
在下面的例子中我希望''oIcon''对象具有属性:
mode1,mode2和mode3。
这看起来很简单,但我可以'很清楚......
任何想法?
var MODE_CREATE =" mode1" ;;
var MODE_UPDATE =" mode2" ;;
var MODE_DELETE =" mode3" ;;
var oIcon = {
MODE_CREATE:" create.gif"
,MODE_UPDATE:" update.gif"
,MODE_DELETE:" delete.gif"
};
var oTitle = {
MODE_CREATE:"创建新项目......
,MODE_UPDATE:更新此项目......
,MODE_DELETE:删除此项目......
};
-
使用Opera的革命性电子邮件客户端: http://www.opera.com/mail/
Danny写道:嗯:
{eval(MODE_CREATE +'':" create.gif" ''),...}
是的,我知道,不是那么优先,但不能说我已经检查了其他或者可以随便看到其他方式。
经常说,如果你考虑在javascript中使用
的 - eval - 函数,你会丢失更简单,更快,更直接,更客观更好。
或许可以找一些时间学习javascript : -
< URL: http ://www.jibbering.com/faq/ >
Richard。
How is it possible to take the value of a variable (in this case,
MODE_CREATE, MODE_UPDATE, etc) and use that as an object property name?
In the following example I want ''oIcon'' object to have the properties:
mode1, mode2, and mode3.
This seems simple but I can''t quite figure it out...
Any ideas anyone?
var MODE_CREATE = "mode1";
var MODE_UPDATE = "mode2";
var MODE_DELETE = "mode3";
var oIcon = {
MODE_CREATE: "create.gif"
, MODE_UPDATE: "update.gif"
, MODE_DELETE: "delete.gif"
};
var oTitle = {
MODE_CREATE: "Create a new item..."
, MODE_UPDATE: "Update this item..."
, MODE_DELETE: "Delete this item..."
};
解决方案sn****@mxlogic.com wrote:How is it possible to take the value of a variable (in this case,
MODE_CREATE, MODE_UPDATE, etc) and use that as an object property name?
In the following example I want ''oIcon'' object to have the properties:
mode1, mode2, and mode3.
This seems simple but I can''t quite figure it out...
Any ideas anyone?
var MODE_CREATE = "mode1";
var MODE_UPDATE = "mode2";
var MODE_DELETE = "mode3";
var oIcon = {
MODE_CREATE: "create.gif"
, MODE_UPDATE: "update.gif"
, MODE_DELETE: "delete.gif"
};
var oTitle = {
MODE_CREATE: "Create a new item..."
, MODE_UPDATE: "Update this item..."
, MODE_DELETE: "Delete this item..."
};
Probably don''t want to use an object *literal* for that purpose:
identifiers become property names without being evaluated. Try this:
<html>
<head>
<title>untitled</title>
</head>
<body>
<pre>
<script type="text/javascript">
var MODE_CREATE = "mode1";
var MODE_UPDATE = "mode2";
var MODE_DELETE = "mode3";
var oIcon = Object();
oIcon[MODE_CREATE] = "create.gif";
oIcon[MODE_UPDATE] = "update.gif";
oIcon[MODE_DELETE] = "delete.gif";
var oTitle = Object();
oTitle[MODE_CREATE] = "Create a new item...";
oTitle[MODE_UPDATE] = "Update this item...";
oTitle[MODE_DELETE] = "Delete this item...";
var a = [];
a.push(''-oIcon-\n'');
for (prop in oIcon)
a.push(prop + '': '' + oIcon[prop]);
a.push(''\n-oTitle-\n'');
for (prop in oIcon)
a.push(prop + '': '' + oTitle[prop]);
document.writeln(a.join(''\n''));
</script>
</pre>
</body>
</html>
Probably a more systematic way of doing this and avoiding repetition...
Well:
{eval(MODE_CREATE+'': "create.gif"''),...}
yes, I do know, is not so preferred, but can''t say I''ve checked other or
can see other ways offhand.
Danny
On Wed, 29 Jun 2005 11:33:43 -0700, <sn****@mxlogic.com> wrote:
How is it possible to take the value of a variable (in this case,
MODE_CREATE, MODE_UPDATE, etc) and use that as an object property name?
In the following example I want ''oIcon'' object to have the properties:
mode1, mode2, and mode3.
This seems simple but I can''t quite figure it out...
Any ideas anyone?
var MODE_CREATE = "mode1";
var MODE_UPDATE = "mode2";
var MODE_DELETE = "mode3";
var oIcon = {
MODE_CREATE: "create.gif"
, MODE_UPDATE: "update.gif"
, MODE_DELETE: "delete.gif"
};
var oTitle = {
MODE_CREATE: "Create a new item..."
, MODE_UPDATE: "Update this item..."
, MODE_DELETE: "Delete this item..."
};
--
Using Opera''s revolutionary e-mail client: http://www.opera.com/mail/
Danny wrote:Well:
{eval(MODE_CREATE+'': "create.gif"''),...}
yes, I do know, is not so preferred, but can''t say I''ve
checked other or can see other ways offhand.
It is often said, and more often true, that if you are considering using
the - eval - function in javascript you are missing something simpler,
faster, more direct and so objectively better.
Perhaps it might be an idea to find some time to learn javascript:-
<URL: http://www.jibbering.com/faq/ >
Richard.
这篇关于如何将变量值指定为对象属性名称?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!