【发布时间】:2011-09-05 12:53:25
【问题描述】:
在普通浏览器js中,我们可以这样做:
window["fname"] = function(){ /* do something */ };
然后我们可以在任何我们想要的地方调用fname - 它现在是一个全局函数。是否可以在节点中做类似的事情,我们向某个对象添加函数,并且可以在文件的其余部分中调用它们:
root["fname"] = function(){ /* do something */ };
fname();
我不是在寻找对所有文件全局起作用的东西,只是在这个文件中保留“全局命名空间污染”的东西,我可以按原样调用所有这些函数,而无需诉诸 obj.fname。
【问题讨论】:
-
这里有一个类似的问题:stackoverflow.com/questions/3691453/…希望对您有所帮助。
-
是的,他可以使用 with,但它的 邪恶 - yuiblog.com/blog/2006/04/11/with-statement-considered-harmful ;]
-
不,
with不是一个选项,因为它不允许访问不需要该前缀的其他变量。请参阅 my code 以了解我想要做什么以及它与这个问题的关系。 -
哦,我知道你想做什么......嗯,我不知道该怎么做^^也许你可以尝试查看 Firebug 调试器的代码库?
-
它现在可以工作了:p 你只需要将“视图”包装在一个自运行的函数中。
标签: javascript node.js