[英]using provide in closure library
我是封閉的新手,我在以下位置閱讀了該教程: 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);
但是該示例將兩者一起使用。 有人可以向我解釋為什么嗎?
goog.provide(namespace)
將從左開始檢查每個點分隔的名稱,並創建一個指向新對象文字的屬性,該文字與您上面提供的教程摘錄等效。 因此,您正確地認為notepad.js從技術上講不需要包含goog.provide('tutorial.notepad')
,因為goog.provide('tutorial.notepad.Note')
將確保對象鏈tutorial.notepad
存在。
但是,除了使用成員函數makeNoteDom
定義Note
對象makeNoteDom
,notepad.js還定義了實用函數makeNotes
,該函數是tutorial.notepad
命名空間的成員。 通過包含goog.provide(tutorial.notepad)
,它表示notepad.js除了定義Note
對象之外,還提供了包級功能。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.