2014-01-09 58 views
2

JSHint告訴我,局部變量isInitOk的值永遠不會被讀取。但它只有在$ get成功函數運行並用方法暴露時纔會更新。JSHint:爲什麼這個局部變量的值永遠不會被讀取?

var my = function() { 
    var isInitOk = false; 

    function discoverSuccess(rsp) { 
     ...  
     isInitOk = true; 
    } 

    function init() { 
     ... 
     $.get(config.serverURL, discoverSuccess, 'json');  
    } 

    function assertInitOk() { 
     return isInitOk; 
    } 

    return { 
     assertInitOk: assertInitOk 
    }; 
}(); 
+2

你曾經調用'assertInitOk'?您正在返回對該函數的引用 - 而不是其輸出。 – h2ooooooo

+0

在此文件之外的另一個函數中,因此曝光。對我來說,這似乎很奇怪。我想返回它不算在讀它。看起來好像它不應該在這個變量返回的時候發出警告。 – Lurk21

+1

它不算作爲閱讀它,因爲JavaScript(技術上)不知道什麼'assertInitOk'做,直到它實際執行該功能。 – h2ooooooo

回答

相關問題