我正在创建一个GM脚本,并对如何设置它尽可能少的全球污染问题。greasemonkey沙盒和范围问题
我有一个主要的功能,它是可用的和一堆私人功能在主要的一个。像这样的东西:
function main(a, b, c) {
/* CODE */
f1(a);
/* CODE */
f2(a + c);
...
function f1(a) {
/* CODE */
}
function f2(a) {
/* CODE */
}
}
我想知道我应该使用var f1 = function(a) {...}
还是我拥有它的方式?
我也应该用function main(a, b, c)
或var main = function(a, b, c)
两个,我能想到的是,如果将运行任何代码,所以我可以用我的私有函数写我的代码的出路之前被解析的唯一区别。有没有任何名称冲突的机会?
在Greasemonkey的,每个脚本都有自己的沙盒(自己的全球范围内)。访问/污染主页的全局作用域的唯一方法是访问'unsafeWindow'。 – Thai 2011-03-11 02:08:03
@Thai是的,但我也计划在其他脚本中使用它 – qwertymk 2011-03-11 02:25:19