Я беру строки, которые представляют шестнадцатеричные числа (на самом деле, шестнадцатеричные цвета) и добавляя их. Итак, добавив aaaaaa
+ 010101
= ababab
. Мой метод кажется излишне длинным и сложным:
var hexValue = "aaaaaa";
hexValue = "0x" + hexValue;
hexValue = parseInt(hexValue , 16);
hexValue = hexValue + 0x010101;
hexValue = hexValue.toString(16);
document.write(hexValue); // outputs 'ababab'
- (JsFiddle: http://jsfiddle.net/U92vt/1/)
Значение шестнадцатеричного значения остается строкой после конкатенации 0x
, поэтому я должен изменить его на число, а затем я могу добавить, тогда я должен изменить его обратно в шестнадцатеричный формат! Есть еще больше шагов, если число, которое я добавляю к нему, также является шестнадцатеричной строкой, или если вы принимаете во внимание, что я удаляю #
из шестнадцатеричного цвета, прежде чем все это запустится.
Конечно, есть способ сделать это с меньшими шагами! (И я не имею в виду просто поместить все это на одну строку (parseInt("0x"+"aaaaaa",16)+0x010101).toString(16)
или использовать сокращенное обозначение, я имею в виду фактически меньшее количество операций.)
Есть ли способ заставить Javascript прекратить использование десятичных чисел для всех своих математических операций и вместо этого использовать hex? Или есть какой-то другой способ облегчения работы Javascript с Hex?