2013-11-29 74 views
1

我有一個帶有多個附加js文件的HTML頁面,其中包含該頁面上使用的函數。在附加的js文件中重新分配javascript函數

對於包含在基本HTML頁面中的函數,它們被成功地重新分配。 FunctionA = FunctionB。

當我嘗試重新分配一個附屬js文件的一部分的函數時,問題就出現了。正常的重新分配不起作用。說FunctionC是附加js文件more functions.js。

我嘗試FunctionC = FunctionD。 FunctionC正常運行 - 無需重新分配給FunctionD。我知道FunctionD'重新分配'應該在FunctionC運行之前發生,因爲當我使用console.log進行檢查時它會觸發。

任何想法,爲什麼這不起作用,將不勝感激。

+0

你在*附加文件'function.js'後做了你的重新分配嗎? –

+0

這有幫助嗎? http://stackoverflow.com/questions/4019849/javascript-re-assigning-a-function-with-another-function –

回答

0

您必須在包含文件後使您的重新分配

例如(Disclamer:不這樣做在實際的項目 - 這是唯一演示目的)下面的代碼包括jQuery庫,但然後重寫jQuery的功能與一個自定義的:

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script> 

<script> 
    jQuery = function(s) { 
     alert(s); 
    } 
</script>  

<script> 
    jQuery('aaa'); 
</script> 

當它運行時會產生警報(demo),但是如果您顛倒了前兩個腳本標記的順序 - 原始「附加」的jQuery函數將接管。