我的代码类似于以下内容。在if语句中,我正在进行数学运算以及分配到lastChangedTime变量,此代码在没有缩小的情况下正常工作,但在缩小之后,即使它进入if语句,lastChangedTime也具有timeDiff赋值。为什么会这样。
var getLastUpdatedDurration = function (timeDiff) {
var lastChangedTime = timeDiff;
if ((lastChangedTime = Math.round(timeDiff / (1000 * 60 * 60 * 24 * 365))) > 0) {
lastChangedTime > 1 ? lastChangedTime += " years" : lastChangedTime += " year";
}
return lastChangedTime;
};
此函数的简化缩小代码如下所示。从以下代码我期望回归10年。因为在将分配值分配给t之后,它返回最初分配的100。可以有人告诉我下面的代码有什么问题。
var v = function (n) {
var i = 100,
t = i;
return t + ((t = Math.round(i / 10)) > 0 ? " years" : (t = Math.round(i / 10)) > 0 ? " seconds" : " milliseconds")
}