我在javascript中使用了一个全局变量,在任何函数之外的脚本标记中声明:
<script type="text/javascript">
var prov_status_dict={};
....
</script>
稍后在javascript方法中我正常使用变量。
temp=prov_status_dict[current_as_id];
我在Opera上遇到了问题,即在Firefox上它有效。这就是opera的错误控制台报告的内容:
JavaScript - http://localhost:8000/input/
Event thread: click
Error:
name: ReferenceError
message: Statement on line 62: Undefined variable: prov_status_dict
stacktrace: n/a; see opera:config#UserPrefs|Exceptions Have Stacktrace
我注意到问题通常在于全局变量。我尝试将一些移动到隐藏字段中,但在下次使用全局变量时会弹出相同的错误。
帮助?
答案 0 :(得分:5)
我通常通过window对象访问我的全局变量,这样我总是有一个参考点
window.MyVariables = {};
window.MyVariables.prov_status_dict = {};
尝试一下,它可能会解决您的问题。
答案 1 :(得分:0)
尽量避免使用全局变量,请参阅http://yuiblog.com/blog/2006/06/01/global-domination