2012-01-06 48 views
1

我有很多想要聲明的對象。不過,我想在輔助javascript文件中這樣做,以防止在我的主JavaScript文件中的混亂。我怎麼做到這一點,以便主JavaScript文件中的代碼仍然可以訪問我在輔助文件中創建的對象?使用多個javascript文件

+0

一個文件具有所有的對象定義和另一個使用它們。所以你添加2個腳本文件 – Ibu 2012-01-06 17:22:34

回答

2

只需聲明方法範圍之外的對象,它們就可以全局訪問。

輔助腳本:

object myObj; 
object myObj; 

$(document).ready(function() { 
    // Do your manipulations here if needed. 
}); 

主要腳本:

$(document).ready(function() { 
    myObj.property = "value"; 
}); 

而且,您的主要在你的標籤頁,像這樣之前引用您的 「輔助」 的文件:

<head> 
    ... 
    <script src="js/auxiliary.js" type="text/javascript"></script> 
    <script src="js/primary.js" type="text/javascript"></script> 
</head> 
+0

OK。謝謝您的幫助。簡單的問題,但我是編程的新手 – WyoBuckeye 2012-01-06 17:54:32

0

這裏基本上是我所做的(這可能不是開箱即用,但它非常接近它對我的實際工作原理):

1)創建一個全局範圍的JS文件並聲明一個對象以保留所有那些其它的目的:

global.js

var Registry = {}; 

Registry.object1 = { name: "Jack", age: "30" }; 
Registry.object2 = { name: "Sharon", age: "28" }; 

2)創建的二次(輔助),其使用這些對象:

people.js

(function() { 
    console.log("Hi, "+Registry.object1.name+"! Meet "+Registry.object2.name+"! She's only "+Registry.object2.age+" years old!"); 
}); 

應該輸出:Hi, Jack! Meet Sharon! She's only 28 years old!

您將包括每一個頁面,其中包含每一個全局對象上global.js,然後只在需要時使用輔助JS文件。

我創建Registry對象來保存其他對象的主要原因是爲了確保其他任何對象都不會發生衝突。如果我在其他地方有另一個名爲「object1」的對象,可能會遇到一些問題,但是如果將它們粘在另一個持有者對象中,它會確保沒有任何衝突。 (即,Registry.object1object1不同)

注意對象可以包含函數(有效地使它們成爲類),因此您可以使用全局類。

這基本上是我怎麼做的。希望有所幫助。

祝你好運! :)