2010-11-25 56 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