我非常新手在關閉, 我讀的教程在:https://developers.google.com/closure/library/docs/tutorial 和它說,在封庫使用提供
goog.provide('tutorial.notepad.Note');
相當於
tutorial = tutorial || {};
tutorial.notepad = tutorial.notepad || {};
tutorial.notepad.Note = tutorial.notepad.Note || {};
基礎上這個事實,我假設如果使用goog.provide('tutorial.notepad.Note');
那麼就沒有必要使用goog.provide('tutorial.notepad);
但這個例子一起使用了它們。 可能有人向我解釋爲什麼?
謝謝cpeisert。我不知道他們爲什麼不能在他們的教程中添加評論。這將是很大的好處,並會涵蓋這些問題。 – 2012-03-19 09:12:16
@cpeisert所以總是定義名稱空間不是明智的,但不包括任何對象?例如,即使tutorial.notepad.Note是notepad.js中唯一聲明和定義的,只需使用goog.provide('namespace.notepad'); ?? – 2013-08-28 19:39:49
@ rodrigo-silveira我建議學習[Closure Library代碼](https://code.google.com/p/closure-library/source/browse/#git%2Fclosure%2Fgoog)。您會發現,名稱空間幾乎總是使用'goog.provide'聲明,然後爲在同一個文件中的命名空間內定義的每個對象附加'goog.provide'語句。 – 2013-08-29 05:01:55