我是新手,无法解决这个问题。我有这段简化的代码:
var StpTable = function () {
function setupPager() {
...
if(i<StpTable.a) {
...
}
...
};
return {
"a": 10,
"init": function() {
setupPager();
}
}
}();
如何使用setupPager()
函数引用变量a
,而不必使用变量名StpTable
。试过这个。但是范围已经关闭了。
有什么建议吗?
答案 0 :(得分:3)
在返回对象之前将对象分配给局部变量并使用它。
var StpTable = function () {
function setupPager() {
...
if(i<obj.a) {
...
}
...
};
var obj = {
"a": 10,
"init": function() {
setupPager();
}
};
return obj;
}();
或者只是将函数指定为对象的属性:
var StpTable = function () {
function setupPager() {
...
if(i<this.a) {
...
}
...
};
return {
"a": 10,
"init": setupPager,
};
}();
然后this.a
将起作用,假设使用StpTable.init();
调用该函数。
答案 1 :(得分:0)
是的,a
可以是本地变量
var StpTable = function () {
var a = 10;
function setupPager() {
...
if(i<a) {
...
}
...
};
return {
"a": a,
"init": function() {
setupPager();
}
}
}();