我有以下所谓的揭示模块模式我想调用这个函数a内部函数b使用变量。我怎样才能做到这一点?
foo = function() {
a = function() {
};
b = function() {
memberName = 'a';
// Call a() using value stored in variable `memberName`.
}
return {b: b};
}();
问题是a
不是成员,而是变量(并且它应该是本地变量!)。除非您使用黑魔法(eval
).
您需要使其成为对象的成员,以便可以通过括号表示法访问它:
var foo = (function() {
var members = {
a: function() { }
};
function b() {
var memberName = 'a';
members[memberName].call();
}
return {b: b};
}());
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)