我有一个“主机” javascript闭包,其中保留了我在网站上使用的所有常见变量

var hostFunction = (function () {
    var variableA = $("#variableA");
    var variableB = $("#variableB");

    // some usefull code here
} ());


在我的网站上,在另一个javascript文件中,我又关闭了一个

var childFunction = (function () {
    var changeValue = function () {
        variableA.html("I was changed");
    };

    // other usefull code
} ());


如何在“ hostFunction”中插入“ childFunction”,以便我可以访问这些变量?

在网站上共享变量并将其保留在范围内以免与其他JavaScript变量冲突的最佳实践是什么?

最佳答案

我认为您需要单词this以便在其他范围内看到这些变量

var hostFunction = (function () {
    this.variableA = $("#variableA");
    this.variableB = $("#variableB");

    // some usefull code here
} ());


您可以像下面这样在childFunction的构造函数中传递主机:

var childFunction = (function (myHost) {
    var changeValue = function () {
        myHost.variableA.html("I was changed");
    };

    // other usefull code
} (hostFunction));

10-06 04:35