var Ok = {
defineVars : function ()
{
var integerr = 0;
for(i=0; i<5; i++)
{
Ok.countUp(integerr);
}
},
countUp : function (integerr)
{
integerr = integerr + 1;
console.log(integerr);
}
}
Ok.defineVars();
这是一个非常简化的真实代码。解释我的行为需要花费太长时间,但我需要在Ok.defineVars()中将一个变量添加到定义为0的integerr中;
谢谢
答案 0 :(得分:0)
不幸的是,integerr不是通过引用传递的,所以它始终为0.你可以改变结构以使整数变换为全局变量。两个函数都可以访问的变量:
var Ok = {
integerr: 0,
defineVars : function ()
{
for(i=0; i<5; i++)
{
Ok.countUp(Ok.integerr);
}
},
countUp : function (integerr)
{
Ok.integerr = integerr + 1;
console.log(Ok.integerr);
}
}
Ok.defineVars();
或利用通过引用传递的对象并执行以下操作:
var Ok = {
defineVars : function ()
{
var integerr = {num:0};
for(i=0; i<5; i++)
{
Ok.countUp(integerr);
}
},
countUp : function (integerr)
{
integerr.num = integerr.num + 1;
console.log(integerr.num);
}
}
Ok.defineVars();