不在全局范围文件中的变量包括

时间:2012-07-29 19:17:36

标签: javascript global-variables

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

<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>

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

1 个答案:

答案 0 :(得分:0)

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

我可以建议一个简单的namespacemodule pattern

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

...甚至是更标准/图书馆的内容,例如RequireJSCommonJS