2012-10-20 41 views
0

對於我的CSS,我正在爲特定函數構建幾個較小的文件,然後使用縮小將它們合併並壓縮爲一個文件以供下載。JQuery函數可以通過其他JS文件訪問

我想對我的JS文件 - 邏輯分離做同樣的處理,然後與MIN進行組合和壓縮以供下載。

我唯一遇到的就是我正在構建的基於AJAX的站點有一個核心JS文件,它接受請求以在主查看區域加載頁面。

我可以從其他JS文件中調用此函數(在一個JS文件中)嗎?它有點像將一個JS文件公開給其他腳本。

有什麼建議嗎?

THX

更新* * ** * *

所以,我怎麼會叫從另外一個JS文件的功能。

如:

文件具有功能callmetoday()

我如何把這種從內JS文件號2?

回答

0

是的。除非您在函數內部聲明函數或變量,或者將其作爲對象字段來聲明,否則它將駐留在全局範圍內。在瀏覽器的情況下,這是window對象。

還要注意Darwayne的警告:聲明之後,您只能使用不同文件中的函數(並且即使在文件中也可以使用some browsers)。

實施例:

文件1.js:

function f1(x){ 
    f2(x) 
} 

document.addEventListener("load",function(){f1(3)}) 

文件2。JS:

function f2(x){ 
    alert(x) 
    if(x) f1(x-1) 
} 

將工作:

  • 時1.js被加載,f1出現在全球範圍內
  • 時2.js被加載,f2出現在全球範圍內
  • 當頁面完全加載時,可以訪問f1f2
0

當然,只要確保先加載依賴項js文件。

如果你正在尋找一個更「模式」的解決方案,我可能會感興趣的你在看requirejs,這是一個庫,可以幫助你解決這種依賴性問題。

乾杯

0

是的,你能夠從兩個獨立的js文件加載功能,這裏的漁獲:

功能必須已經聲明之前,你可以用它

這意味着你要麼需要使用要運行的功能的js文件,在調用它的js文件之前加載.....或確保在頁面完全加載後調用該函數

相關問題