我想我在这里遗漏了一些东西,但是我真的看不到它是什么。在函数外声明的变量不应该在整个页面中都可用吗?我在这里尝试过的内容之前已经见过,所以我认为基本思路应该可行。在这种情况下,我总是收到警报来告诉我“ 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>

最佳答案

几个问题。您的全局变量很好。但是,任何在function()内部声明的变量都将以该WHOLE函数为范围。

这意味着您在读取var skipUserDataEntry = false;的行中实际上是在为函数作用域声明一个新变量skipUserDataEntry,从而遮盖了全局变量。

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

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


其次,您缺少结尾括号。

关于javascript - Javascript跨脚本变量值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4275321/

10-11 12:26