全局变量如何定义

比如说每个js里都可以调用的cc.xxxx;
这里的cc是如何定义的,
是类似window.cc=cc吗?

var _global = typeof window === ‘undefined’ ? global : window;

/**

  • !#en
  • The main namespace of Cocos2d-JS, all engine core classes, functions, properties and constants are defined in this namespace.
  • !#zh
  • Cocos 引擎的主要命名空间,引擎代码中所有的类,函数,属性和常量都在这个命名空间中定义。
  • @module cc
  • @main cc
    */
    _global.cc = _global.cc || {};

// For internal usage
_global._cc = _global._cc || {};

如果是JS里,window.cc = cc
如果是TS里,因为提示会报错,需要(’<'any`>'window).cc = cc

像经常用到的单例或者工具类,直接设置成全局变量会有问题吗,不然每个脚本里都得require一遍,感觉很麻烦

可以,只要不是需要继承Component的都可以做成全局的工具类

好的谢谢

文件 myTool.js

let myTool = {
fun() {

},

};
cc.myUtils= cc.myUtils|| {};
cc.myUtils.myTool= myTool;