Titanium.include VS require
作者:佚名
社區有同學問到Ti.include和require的不同?偶嘗試在這里加以解釋,歡迎同學們拍磚。 其實,這兩個方法除了看上去都是包含一個JS文件之外, 再也沒有相似之處了。
Ti.include(String name)
- 有Ti命名命名空間限定,表示是Titanium模塊中的函數。
- JavaScript解釋器在當前根上下文環境中解釋所包含的JS文件,換句話說:被包含的文件有可能破壞當前的全局變量,如果有變量名或函數名相同,因此慎用。根上下文環境指的是類似于傳統Web開發中Window對象。注意:Titanium Mobile中根上下文環境存在于app.js文件和window的url屬性指定的JS文件。
require(String moduleId)
- 全局函數,無需命名空間限定直接調用。
- require函數設計意圖是遵從CommoJS規范,使JS應用更加模塊(module)化,使模塊相對獨立。一個被require的JS文件稱之為一個模塊(module),模塊變量和函數都是私有的,不能互相訪問,除非通過exports對象暴露出來。
- Titanium的require函數有兩種用法,所導入的模塊都遵從上面所講的CommoJS規范。
- 1、導入項目中一個JS模塊(其實是一個JS文件),比如var mainWindow =require('ui/MainWindow');
- 2、導入一個原生模塊(Native Module),比如var module = require('com.mycompany.module');
責任編輯:佚名
來源:
移動Web開發者社區