более короткий способ проверить значение и присвоить TRUE - PullRequest
0 голосов
/ 04 декабря 2011

Я не уверен, возможно ли возможно , но есть ли более краткий (или более быстрый) способ сделать следующее?

if(w > width) width = w;

Я работаю над проектомэто делает похожую логику тысячи раз в секунду, но это часто более сложно, поэтому я бы хотел 1) сделать это быстрее, если возможно и 2) найти более короткий способ написать этодля моего здравомыслия.

** РЕДАКТИРОВАТЬ **

пример чего-то более длинного

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

Ответы [ 4 ]

2 голосов
/ 04 декабря 2011

Это будет как минимум короче набрать:

width = Math.max(w, width)
0 голосов
/ 04 декабря 2011

попробуйте это (не проверено):

w>width&&width=w;

и для других ярлыков, вот краткий справочник: http://geogeeks.net/2011/01/javascript-shorthands/

0 голосов
/ 04 декабря 2011

Я не уверен, насколько это быстрее, хотя это кажется более кратким.

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

Я также предполагаю, что вы используете c или c ++, поскольку вам требуется скорость.

0 голосов
/ 04 декабря 2011

Вы можете использовать троичный оператор:

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

Однако, это может быть немного неэффективно, так как будет присваивать width = width, когда условие ложно.

Я бы все же предложилВы придерживаетесь оригинального кода, хотя.Нет смысла запутывать вашу логику.

...