0

我正在尝试将变量分配到全局范围之外,并允许包含的文件可以访问这些变量。这就是我所拥有的:

<script type="text/javascript">
    (function(){
        var cm_url = "http://test.com/mikelbring/1313-myproducthere";
        var cm_text = "Buy";
        var z = document.createElement("script");
        z.src = "button.js";
        var s = document.getElementsByTagName("script")[0];
        s.parentNode.insertBefore(z, s);
    })();
</script>

该脚本无权访问变量。我能做些什么来让它访问变量但将它们排除在全局范围之外?谢谢!

4

1 回答 1

0

您正在使用自执行函数来限制这些变量的范围。在某些时候,您必须在全局范围内公开某些内容,以便其他脚本可以访问它们。

我可以建议一个简单的命名空间模块模式

var MIKEL = {
    cm_url: "http://test.com/mikelbring/1313-myproducthere",
    cm_text: "Buy",
    // etc...
};

...或者甚至是更标准/类似于库的东西,例如RequireJSCommonJS

于 2012-07-29T19:24:49.570 回答