2014-01-19 38 views
0

我想調用另一個文件中定義的變量。我在我的HTML文件中包含以下代碼,該文件由身體內的<script>標籤包圍。JavaScript getScript()不工作?

function getScript("./analysis_method.js", callback) { 
    var script = document.createElement('script'); 
    script.type = 'text/javascript'; 
    script.src = "./analysis_method.js"; 

    script.onreadystatechange = callback; 
    script.onload = callback; 

    document.getElementsByTagName('head')[0].appendChild(script); 
} 

getScript('./analysis_method.js', function() { 
    alert("Analysis Method: " + method); 
}); 

analysis_method.js我已經定義method這樣的:var method = "thermometer";

我得到這個代碼從另一個堆棧溢出的問題,我改變了我的理解我的項目。我相信我的問題是,我沒有改變callback,雖然我不知道要改變它。

+0

查看http://eloquentjavascript.net/chapter3.html以瞭解更多有關功能的信息。 –

回答

3

您的getScript定義中存在語法錯誤。

function getScript(url, callback) { 
    ... 
    script.src = url; 
    ... 
} 

明白,你不能使用字符串或數字文字作爲變量名和所有的函數參數必須與變量名稱定義是很重要的。\

你也應該有可能想到的是,回調onreadystatechange將會在腳本實際加載之前失敗。 onreadystatechange通常用於保存回調,檢查成功或失敗並在滿足這些條件之一時調用適當的回調。