this.method=method;
function method() {
var temp = globalVar1 - globalVar2;
if(temp == 0) {
//etc.
}
}
我有一个类似于上面的方法(在一个对象中),我只想创建一个临时变量,我可以使用它来使'if'语句更整洁,但temp
始终是最初的globalVar1 - globalVar2
价值是。如果更新了globalVars,则temp
不会更新。谢谢!
抱歉! 结果证明这是我的一个愚蠢的错误。
temp
变量都会更新。我想这个问题可以删除吗?
答案 0 :(得分:2)
如果更新了globalVars,则temp不会更新。
您无法使变量代表实时更新表达式。
改为使用功能。
function temp() { return globalVar1 - globalVar2; }
if (temp() == 0) {
/etc
}
答案 1 :(得分:1)
尝试从var
删除关键字var temp
。
把它作为:
temp = globalVar1 - globalVar2; //i.e. without var
如果这不起作用,则必须改变并使用method(globalVar1, globalVar2);
代替..