【问题标题】:Javascript cross-scripts variable valuesJavascript 跨脚本变量值
【发布时间】:2010-11-25 09:10:19
【问题描述】:

我想我在这里遗漏了一些东西,但我真的看不出它是什么。在函数外部声明的变量不应该在整个页面中都可用吗?我在这里尝试的东西我以前已经看过了,所以我想基本的想法应该可行。在这种情况下,我总是收到警报告诉我“false”,所以我猜它总是输入 if,因此 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>

【问题讨论】:

    标签: javascript extjs scope


    【解决方案1】:

    几个问题。你的全局变量很好。但是,在 function() ANYWHERE 中声明的任何变量都将适用于该 WHOLE 函数。

    这意味着您读取 var skipUserDataEntry = false; 的行实际上是在为函数范围声明一个新变量 skipUserDataEntry,隐藏全局变量。

    删除var,您将只查看全局范围变量。

        Ext.onReady(function () {
         if (typeof skipUserDataEntry == "undefined")
           skipUserDataEntry = false;
         alert (skipUserDataEntry);
        });
    

    其次,你缺少一个结束括号。

    【讨论】:

    • 缺少的括号是一个错字,因为我在 Ext.onReady 上还有其他事情正在进行,但没有粘贴它们。感谢您的帮助,var 有效。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-01-29
    • 1970-01-01
    • 2021-12-29
    • 2012-02-26
    • 1970-01-01
    • 2010-11-28
    • 2014-02-14
    相关资源
    最近更新 更多