Javascript eval 引用错误 : is not defined

标签 javascript eval referenceerror

我需要根据我从脚本中提取的参数中的变量值动态创建一个变量。但我首先想检查它是否已经存在,这样如果它已经设置了,我就不会覆盖它。

我利用 eval 来扩展变量的值并将其标记到变量后缀上,但无论我使用什么来检查未定义,我都会在检查时收到引用错误。

下面是简单的代码片段

chkUser = args[1];

if(typeof eval(chkUser+"lastseen")==="undefined") ;

我还尝试将 eval 放在括号中,并将 undefined 放入“”中,然后将它们完全拉出,并将 typeof 切换为 JavaScript 标准 undefined

if( eval(chkUser+"lastseen")=== undefined) ;

但我总是得到 ReferenceError: robertlastseen is not Defined 或者 chkUser 扩展到什么。

最佳答案

这只是一个猜测,但似乎在评估变量之前尚未定义该变量。

试试这个Fiddle .

对我来说效果很好。

在像这样评估变量之前尝试对变量进行硬编码:

chkUser = args[1];
var robertlastseen = 'Hardcode';
console.log(eval(chkUser+"lastseen"));

然后您应该能够调试您的代码。

如果您只想测试此变量是否已声明,请尝试以下操作:

if(eval('typeof ' + chkUser + 'lastseen') === "undefined"){
    //Variable undefined
}

关于Javascript eval 引用错误 : is not defined,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24001442/

相关文章:

Javascript - 评估对象创建?

asp.net - <%# Eval ("State") %> 或 <%# DataBinder.Eval(Container.DataItem, "state")%>

c++ - Qt:未定义对 'vtable' 的引用

javascript - 为什么 `eval` 对非字符串有效?

JavaScript 闭包。输入未定义值会停止脚本。有时

JavaScript:检查变量或对象是否存在

用于多个元素的 Javascript

javascript - 如何在 React 应用程序中实现谷歌地图搜索框

javascript - 如何处理powershell中的错误 'console is undefined'?

javascript - arcgis javascript api api 合并/溶解两个多边形