在不污染全局 namespace 的情况下,如何在其匿名函数之外获取变量的最佳实践是什么?
最佳答案
多种可能性:
最有意义的选择取决于您需要共享多少数据,需要共享多少数据,共享是否是双向的,等等。
暴露全局数据对污染全局 namespace 的影响最小的典型设计模式是执行以下操作:
var JF = JF || {}; // create single global object (if it doesn't already exist)
JF.getMyData = function() {return(xxx);}; // define accessor function
JF.myPublicData = ...;
然后,您可以在应用程序中的任何地方调用
JF.getMyData();
或访问JF.myPublicData
。这里的想法是所有公共(public)方法(甚至数据对象)都可以卡在JF对象上,因此全局空间中只有一个新项目。其他所有东西都在那个对象里面。
关于javascript - 从另一个CoffeeScript文件访问变量?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6567144/