2012-11-09 89 views
0

我沿着一本書,我有2個JavaScript文件。兩者都是在HTML文件中:在另一個js文件中使用JavaScript函數

<script src="playlist_store.js"></script> 
<script src="playlist.js"></script> 
然而

,當我嘗試調用從內部playlist.js鉻調試器說「未捕獲引用錯誤沒有定義loadPlaylist playlist_store.js功能loadPlaylist()是。從playlist_store.js的功能

我認爲可能有一個錯字,但我不認爲有。playlist.js實際上需要以某種方式導入或包含/需要playlist_store.js?瀏覽器不智能足以以某種方式將它們鏈接起來,以便可以從另一個函數中調用函數?

+0

加載文件的順序?它是否有幫助,如果你扭轉包括? –

+4

playlist_store.js中的函數可能不在全局範圍內。 – Gael

+0

在'playlist_store.js'中發佈代碼。您不必進行任何導入。如果'loadPlaylist'實際上被定義爲可達範圍中的函數,它應該可以工作。 – Jacob

回答

2

定義一個函數,如fo llows

function myaction() { } 

命名爲(私人)功能。
最好是寫分配給一個變量(私人)功能:

​​

現在你需要的是一個功能,即分配給一個變量在全局對象:

myaction = function() { }; 
// or strict: 
window.myaction = function() { }; 

它現在是一個全局(公共)函數,因此您可以在定義的.js之外使用它。

注意第一個例子,函數語句沒有分號。使用函數運算符與其他示例中的一樣,需要分號。

+0

我定義了像第一個選項函數myaction(){}那樣的函數。顯然,雖然當我從PDF文件複製並粘貼到表達式時,「」引號變得不同,並且它有一些錯誤,阻止了playlist_store.js加載並導致錯誤。我在Chrome調試器中發現它。謝謝您的幫助! – NoTiG

相關問題