2010-11-25 56 views
1

我有定義函數的對象,而且它有很多的在它的方法和屬性,有一些什麼方法來modularise這使其更易於管理?可以將對象內的函數放入外部文件中嗎?的Javascript modularising大對象

編輯:在一個答覆中提到

有人以包括其他文件,但這有一個unweildy HTML頁面,IE:

<script type="text/javascript" src="script1.js"></script> 
<script type="text/javascript" src="script2.js"></script> 
<script type="text/javascript" src="script3.js"></script> 
.... 
<script type="text/javascript" src="script76.js"></script> 

有也沒有辦法構建代碼,以便只有一個參考是必需的JavaScript文件?

+0

通常你應該嘗試有儘可能少的外部腳本。 – 2010-11-25 13:52:54

+0

您對當前的代碼有什麼「管理問題」? – 2010-11-25 13:53:53

回答

3
var myobj = { 
    somefunc: function() { /* function code */ }, 
    prop: "some string", 
    // etc. 
}; 

,並在另一個js文件包括在上面的代碼

myobj.anotherfunc = function() { /* function code */ }; 
1

你可能想看看RequireJS後。它可以讓你定義函數,模塊,依賴關係和從Javascript加載外部Javascript文件(可能是異步)。

0

,你可以使用服務器端腳本來處理你的JavaScript,與jsmin你甚至可以加快這一進程(如緩存)。

我在想一個腳本的財產以後這樣的: scripts.php

<?php 

$files = array('script1.js', 'script2.js'); 
$output = ''; 

foreach($files as $file){ 
    $output .= file_get_contents($file); 
} 

header("Content-type: application/x-javascript"); 
echo $output; 

?> 

your html 
<script type="text/javascript" src="/script.php"></script> 

,你也可以只包括所有的JS文件的文件夾內,就產生通過文件夾掃描或某事的陣列,我想你明白了!

問候耐克遜