2014-10-17 155 views
0

我已經快速瀏覽過,但找不到此查詢的特定答案,所以我想問問專家。我仍然在學習HTML和Javascript。Javascript - 從函數內調用/初始化函數

我有一些代碼,我使用標準的「body onLoad」函數來運行位於HTML doco頭部分中的「初始化」函數。我在頭部有另一個名爲「populateList(){...}」的函數,它基本上用來自外部文件的數據填充數組。

我想通過調用「初始化」函數中的「populateList」函數來初始化此列表。我試過使用populateList();和其他排列,但這似乎並不奏效。我認爲這是一個語法查詢,應該是直接的,所以沒有包含任何代碼,但如果它使這更清晰。是否需要在調用函數之前指定「populateList」函數,或者在加載之前是否遍歷函數?

謝謝

+1

沒有向我們顯示您的代碼,我們無法幫助您解決錯誤。 – Bergi 2014-10-17 06:00:54

+0

你做了什麼?你可以在小提琴中演出嗎? – deepakb 2014-10-17 06:00:54

+0

正如其他人所說的,我們需要查看您的代碼,並且您需要查看瀏覽器錯誤/調試控制檯以查看那裏有什麼內容,並在此處報告。 – jfriend00 2014-10-17 06:03:22

回答

1

是這樣的嗎?

<html> 
    <head> 

    <script> 
     function initialise() 
     { 
     alert('initialise'); 
     populateList(); 
     } 
     function populateList() 
     { 
     alert('populate list'); 
     } 
    </script> 
    </head> 
    <body onload="initialise()"> 

    </body> 
</html> 

演示:http://plnkr.co/edit/5HgzbiIHDXUijdSGSTzO?p=preview

如果那的情況下,JavaScript的作品通過加載腳本從上到下 - 所以你需要聲明,以便他們。

+1

在那段代碼中,* initialise *和* populateList *可以以任何順序和文檔中任意位置的單獨腳本元素(以任何順序)聲明,因爲在整個文檔加載完畢並解析所有腳本元素之前,不會調用任何內容。 – RobG 2014-10-17 06:10:35

+0

這是真的,對不起,它遲到了,我不知道我在想什麼 – RSquared 2014-10-17 06:13:29

+0

沒關係。由於OP沒有定義什麼「...... *似乎不起作用」......意思是,沒有評估「有用」的標準。 ;-)問題甚至可能是XHR,誰知道? – RobG 2014-10-17 06:48:19