2011-02-08 51 views
5

我同意使用名稱空間對於JavaScript庫是必不可少的,但那些駐留在script標記中的HTML文件中的函數又如何呢?基本上這些都是「本地」功能,永遠不會與任何其他頁面共享。你們還爲這些人使用命名空間嗎?如果是這樣,你是否使用與共享自定義庫相同的名稱空間?本地JavaScript函數是必須的命名空間嗎?

回答

1

您不需要命名空間,因爲正如您所說,沒有潛在的命名衝突。

唯一的潛在衝突是,如果您導入的庫不是而是使用了命名空間,並且它引入了一個與您在腳本文件中放置的名稱衝突的變量。但是如果你在所有的庫中都遵循命名空間的習慣,那麼它並不重要。

2

我想說,本地命名空間可以幫助防範任何可能的與第三方JavaScript庫的衝突,但它不一定是必要的。

1

首先。將JavaScript放在HTML中不是你應該做的事情。 Javascripts應該在單獨的文件(S)。加載程序明顯例外,如head.js或類似的,如果你使用一個。

我個人認爲沒有必要命名空間本地腳本。從未發生過我寫過的一個腳本與我用過的任何插件相沖突。

+0

關於將所有JavaScript代碼放在.js文件中,這是不是說幾乎每個獨立的HTML文件都會有自己的.js文件?這不是維修問題嗎? – 2011-02-08 02:02:07

1

它必須依賴於地方的腳本嵌入在HTML的來源。如果它在代碼控制本地腳本的環境中會知道對方在做什麼,那麼我認爲不需要命名空間。

如果另一方面,腳本將運行在類似於CMS的環境中,那麼可能會有各種服務器端插件暴露本地javascript,而客戶端端編碼器無需理解代碼的複雜性。即使在那裏,如果該代碼是全部命名空間的,那麼你應該沒問題。無意中忘記一個var關鍵字可以破壞名稱空間。

總而言之,命名空間並不會傷害事物,並不那麼難。當它沒有與html混合時,維護和思考javascript會容易得多。

相關問題