如何将变量值指定为对象属性名称? [英] How to assign variable value as the object property name?

查看:69
本文介绍了如何将变量值指定为对象属性名称?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何获取变量的值(在这种情况下,

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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆