【发布时间】:2011-08-02 04:57:06
【问题描述】:
我承认我问了一个问题,为什么 Closure Compiler 不缩短某些乍一看似乎可以缩短的代码几天前,但这个原因不适用于这种情况,我不确定为什么会这样'这里没有缩短。
我的代码是:
var a = 0;
function b() {
return a++ >= 3;
}
现在有前置增量和后置增量。区别在于返回值 - a++ 返回 a 并且 然后 递增它,++a 首先递增 a 然后 然后 返回它。
这归结为我的代码可以缩短为(忽略空格删除):
var a = 0;
function b() {
return ++a > 3;
}
但是,Closure Compiler 似乎并没有改变(或识别)这一点。
因此,我的问题是:使用++a > 代替a++ >= 会产生什么副作用?
【问题讨论】:
-
你为什么要它这样做?我看不出它将如何以任何方式提高性能。
-
不是因为性能,而是因为代码长度。 Closure Compiler 可以通过删除空格等来缩短代码,因此
a++>=3可以缩短为++a>3。不是很令人兴奋,但我只是想知道。 -
你需要满足2个条件,而且收获很少,所以他们可能甚至没有浪费时间或者专注于更重要的事情......
-
可能是这样,但它们两个表达式彼此相等是否正确?
标签: javascript google-closure-compiler post-increment pre-increment