繁体   English   中英

Javascript 相当于 php 的 $object->{$stringvar} = 1 而没有 eval()?

[英]Javascript equivalent of php's $object->{$stringvar} = 1 without eval()?

如何在不使用 eval() function 的情况下从其他变量的值创建 object 的属性?

使用数组表示法:

obj[stringvar] = 1;
var object = {}, stringvar = "name";
object[stringvar] = 1;

您可以使用其他变量作为属性名称,如下所示:

var a = 'property';
var b = {};

b[a] = 'hello';

这也可以通过以下方式访问:

b.property;

像这样使用 object 文字符号:

var method = 'foo()';
// call it
myobject[method];

所以你会这样做:

object[stringvar] = 1;

使用括号表示法:

var o = { key: 'value' };
var member = 'key';

o[member] = 'oherValue';
var myobject = {};
var stringvar = "test";
myobject[stringvar] = 1;

Javascript 对象允许按需创建属性。 只需设置您想要的属性:

var object = {name:'A', id:1};
object.description = "Test";
alert(object.description);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM