Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/431.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在对象中安全地使用变量?_Javascript_Eval - Fatal编程技术网

Javascript 如何在对象中安全地使用变量?

Javascript 如何在对象中安全地使用变量?,javascript,eval,Javascript,Eval,我对我的控制台感到厌烦和混乱,我想出了以下代码: 我试着说: x = 16; y = 26; f = { x+y:"String!"}; 期待某事或以某种方式做: Object {1626: "String!"} 或者至少 Object {42: "String!"} 我最终得到了 x = 16; y = 26; eval("f = { "+x+y+":\"String!\"}"); 如预期的那样返回: Object {1626: "String!"} 我总是被告知要避免使用eval(

我对我的控制台感到厌烦和混乱,我想出了以下代码:

我试着说:

x = 16;
y = 26;
f = { x+y:"String!"};
期待某事或以某种方式做:

Object {1626: "String!"}
或者至少

Object {42: "String!"}
我最终得到了

x = 16;
y = 26;
eval("f = { "+x+y+":\"String!\"}");
如预期的那样返回:

Object {1626: "String!"}
我总是被告知要避免使用
eval()
,甚至从来没有考虑过使用它,因为它与安全有关。有没有一种方法可以在声明属性时使用变量(如果我不知道它的确切名称,那么很抱歉)


我在开始学习JavaScript时犯了同样的错误:

首先必须使对象:

var f = {};
然后可以使用变量动态创建密钥:

var x = 16, y = 26;
f[x+y] = "Integer"; 
f[x.toString() + y.toString()] = "String";

我在开始学习JavaScript时犯了同样的错误:

首先必须使对象:

var f = {};
然后可以使用变量动态创建密钥:

var x = 16, y = 26;
f[x+y] = "Integer"; 
f[x.toString() + y.toString()] = "String";

我在开始学习JavaScript时犯了同样的错误:

首先必须使对象:

var f = {};
然后可以使用变量动态创建密钥:

var x = 16, y = 26;
f[x+y] = "Integer"; 
f[x.toString() + y.toString()] = "String";

我在开始学习JavaScript时犯了同样的错误:

首先必须使对象:

var f = {};
然后可以使用变量动态创建密钥:

var x = 16, y = 26;
f[x+y] = "Integer"; 
f[x.toString() + y.toString()] = "String";

f={};f[x+y]=“字符串”;f[x.toString()+y.toString()]=“字符串”
你知道变量的确切类型吗
{foo:“bar”}
这样我可以在网上查询更多,
typeof()
只说object…那只是一个
对象
。。。这就是它的确切类型。您正在查找@Codingale Yes,但是数组的
Array(“foo”,“bar”)实例也将返回true。所有数组都是Javascript中的对象,但并非所有对象都是数组。函数也是对象。
f={};f[x+y]=“字符串”;f[x.toString()+y.toString()]=“字符串”
你知道变量的确切类型吗
{foo:“bar”}
这样我可以在网上查询更多,
typeof()
只说object…那只是一个
对象
。。。这就是它的确切类型。您正在查找@Codingale Yes,但是数组的
Array(“foo”,“bar”)实例也将返回true。所有数组都是Javascript中的对象,但并非所有对象都是数组。函数也是对象。
f={};f[x+y]=“字符串”;f[x.toString()+y.toString()]=“字符串”
你知道变量的确切类型吗
{foo:“bar”}
这样我可以在网上查询更多,
typeof()
只说object…那只是一个
对象
。。。这就是它的确切类型。您正在查找@Codingale Yes,但是数组的
Array(“foo”,“bar”)实例也将返回true。所有数组都是Javascript中的对象,但并非所有对象都是数组。函数也是对象。
f={};f[x+y]=“字符串”;f[x.toString()+y.toString()]=“字符串”
你知道变量的确切类型吗
{foo:“bar”}
这样我可以在网上查询更多,
typeof()
只说object…那只是一个
对象
。。。这就是它的确切类型。您正在查找@Codingale Yes,但是数组的
Array(“foo”,“bar”)实例也将返回true。所有数组都是Javascript中的对象,但并非所有对象都是数组。函数也是对象。我喜欢你对
f[42]
f[1626]
的两种表达方式,我不知道该如何表达这个问题,就像你一样,谢谢你的回答!我喜欢你对
f[42]
f[1626]
的两种表达方式,我不知道该如何表达这个问题,就像你一样,谢谢你的回答!我喜欢你对
f[42]
f[1626]
的两种表达方式,我不知道该如何表达这个问题,就像你一样,谢谢你的回答!我喜欢你对
f[42]
f[1626]
的两种表达方式,我不知道该如何表达这个问题,就像你一样,谢谢你的回答!