2010-11-25 55 views
1

我想我在这里错过了一些东西,但我真的看不到它是什么。不应该在整个页面中声明一个在函数外部声明的变量吗?我在这里所尝试的,我已经看到过,所以我想基本的想法应该工作。在这种情况下,我总是得到警告,告诉我“false”,所以我猜它总是进入if,因此skipUserDataEntry具有未定义的值而不是true。希望有人能帮忙。Javascript跨脚本变量值

<script type="text/javascript"> 
    skipUserDataEntry = true; 
    </script> 

    <script type="text/javascript"> 
     Ext.onReady(function() { 
     if (typeof skipUserDataEntry == "undefined") 
     var skipUserDataEntry = false; 
     alert (skipUserDataEntry); 
     } 
    </script> 

回答

5

有几个问题。你的全局变量很好。但是,在函数()ANYWHERE内声明的任何变量将被作用于该函数的范围整数函数。

这意味着您的行读数var skipUserDataEntry = false;实际上为函数范围声明了一个新变量skipUserDataEntry,它映射了全局变量。

删除var,您将只查看全局作用域变量。

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

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

+0

缺少的括号是一个错字,因为我在Ext.onReady上进行了其他操作,但没有粘贴它们。感谢您的帮助,var的作品。 – 2010-11-25 09:28:02