我想我在这里遗漏了一些东西,但我真的看不出它是什么。在整个页面中,不应该在函数外声明的变量可用吗?我在这里尝试的是我以前见过的,所以我想基本的想法应该有效。在这种情况下,我总是得到警告告诉我“假”,所以我猜它总是进入,因此,skipUserDataEntry具有未定义的值而不是true。希望有人能提供帮助。
<script type="text/javascript">
skipUserDataEntry = true;
</script>
<script type="text/javascript">
Ext.onReady(function () {
if (typeof skipUserDataEntry == "undefined")
var skipUserDataEntry = false;
alert (skipUserDataEntry);
}
</script>
答案 0 :(得分:5)
有几个问题。你的全局变量很好。但是,在函数() ANYWHERE 中声明的任何变量都将作为 WHOLE 函数的作用域。
这意味着您的行读取var skipUserDataEntry = false;
实际上是为函数范围声明了一个新变量skipUserDataEntry
,遮蔽了全局变量。
删除var
,您只会查看全局范围变量。
Ext.onReady(function () {
if (typeof skipUserDataEntry == "undefined")
skipUserDataEntry = false;
alert (skipUserDataEntry);
});
其次你错过了一个结束括号。