0
this.method=method;
function method() {
    var temp = globalVar1 - globalVar2;
    if(temp == 0) {
        //etc.
    }
}

我有一个类似于上面的方法(在一个对象内),我只想创建一个临时变量,我可以用它来使“if”语句更简洁一些,但temp总是不管初始globalVar1 - globalVar2值是什么。如果 globalVars 已更新,temp则不会更新。谢谢!


对不起!原来这是我的一个愚蠢的错误。

temp每次调用该方法时,变量都会更新。

我想这个问题可以删除吗?

4

2 回答 2

2

If the globalVars are updated, temp doesn't update.

You can't make a variable represent a live updating expression.

Use a function instead.

function temp() { return globalVar1 - globalVar2; }
if (temp() == 0) {
    /etc
}
于 2013-07-30T09:38:55.937 回答
1

尝试var从中删除关键字var temp

把它写成:

temp = globalVar1 - globalVar2; //i.e. without var

如果这不起作用,您必须更改并method(globalVar1, globalVar2);改为使用..

于 2013-07-30T09:37:16.903 回答