检查值的简短方法和TRUE分配

时间:2011-12-04 18:25:59

标签: javascript logic variable-assignment

我不确定它是否可能,但有更简洁(或更快捷的方式)来执行以下操作吗?

if(w > width) width = w;

我正在开发一个类似逻辑数千次次/秒的项目,但它通常更复杂,所以我想1)如果可能的话,它会更快和2)找到一个更短的方式来为我自己的理智写它。

**编辑**

更长一点的例子

if(Math.abs(x) > this._boundingBox.width) this._boundingBox.width = Math.abs(x);

4 个答案:

答案 0 :(得分:2)

输入时至少会缩短:

width = Math.max(w, width)

答案 1 :(得分:0)

您可以使用三元运算符:

width = (w > width ? w : width);

但是,这可能效率稍低,因为它会在条件为假时分配width = width

但是,我仍然建议您坚持使用原始代码。没有理由混淆你的逻辑。

答案 2 :(得分:0)

虽然看起来更简洁,但我不确定它的速度有多快。

(w > width) ? width = w : w = w ; 
/* The w = w does nothing though a statement is needed */

我也假设您使用c或c ++,因为您需要速度。

答案 3 :(得分:0)

试试这个(未经测试):

w>width&&width=w;

以及其他捷径,这里有一个快速参考: http://geogeeks.net/2011/01/javascript-shorthands/