Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/396.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_Reactjs_Eval - Fatal编程技术网

Javascript 评估功能不起作用

Javascript 评估功能不起作用,javascript,reactjs,eval,Javascript,Reactjs,Eval,代码: console.log(propertyName); console.log(eval(this.state.propertyName)) console.log(this.state.DriverFirstName); 输出: console.log(propertyName); console.log(eval(this.state.propertyName)) console.log(this.state.DriverFirstName); DriverFirstN

代码:

 console.log(propertyName);
 console.log(eval(this.state.propertyName))
 console.log(this.state.DriverFirstName);
输出:

 console.log(propertyName);
 console.log(eval(this.state.propertyName))
 console.log(this.state.DriverFirstName);
DriverFirstName
undefined
fsdfds

我想访问由字符串值(propertyName)定义的变量。 我试过Eval函数。
如果我试图通过eval函数访问变量,为什么变量未定义?

您试图做的是:
 console.log(propertyName);
 console.log(eval(this.state.propertyName))
 console.log(this.state.DriverFirstName);
this.state[propertyName]

 console.log(propertyName);
 console.log(eval(this.state.propertyName))
 console.log(this.state.DriverFirstName);
这将访问与变量
propertyName
的值匹配的state属性

 console.log(propertyName);
 console.log(eval(this.state.propertyName))
 console.log(this.state.DriverFirstName);

假设
propertyName
值为
'DriverFirstName'
,它与执行
this.state['DriverFirstName']
相同,这与执行
this.state.DriverFirstName

相同,您想做什么?你能展示一下这个州里面的东西吗?如果可能的话,删除单词
eval
并忘记它的存在几乎没有充分的理由使用
eval()
。另外,我们也帮不上忙,因为您没有显示
this.state.propertyName
的定义
propertyName
this.state.propertyName
不同,我想访问字符串值(propertyName)@Bobek定义的变量,您能做
console.log(this.state)
并将输出粘贴到您的问题中吗?
 console.log(propertyName);
 console.log(eval(this.state.propertyName))
 console.log(this.state.DriverFirstName);