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');

你可能感兴趣的:(include)