服务器之间的Javascript范围不同

时间:2014-04-25 18:57:02

标签: javascript scope

我的项目在开发服务器上测试期间已成功运行了数周。它被发送到生产服务器,现在失败了。

它返回此错误:

Uncaught ReferenceError: geoDD is not defined 

变量geoDD是一个布尔值,由验证函数返回。

我们没有使用任何框架。这是在普通的客户端js代码(而不是node.js)中发生的。我已跟踪变量并验证所有组件文件已正确迁移。控制台面板显示所有组件都已成功加载。

开发服务器是cPanel帐户,而生产是运行CentOS的虚拟专用服务器。不同的Javascript引擎会不同地处理变量范围吗?或者还有其他我需要寻找的东西吗?

1 个答案:

答案 0 :(得分:1)

与“范围差异”无关 - 并且函数返回的变量不是(值可以分配给变量)。

假设相同的代码,这是因为其中一个执行在访问之前首先分配给全局变量,而另一个不执行。究竟为什么需要检查实际有问题的代码 - 这种问题的一个“常见”原因是异步回调时序。

当然,也可能是提供了不同的代码。确保代码相同并刷新缓存。