我有一个“主机” 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));