在Javascript中更方便地处理十六进制字符串和十六进制值

16 浏览
0 Comments

在Javascript中更方便地处理十六进制字符串和十六进制值

我有一些代码,它接受表示十六进制数字的字符串 - 实际上是十六进制颜色 - 并将它们相加。例如,将aaaaaa010101相加得到ababab的输出。

然而,我的方法似乎过于冗长和复杂:

var hexValue = "aaaaaa";
hexValue = "0x" + hexValue;
hexValue = parseInt(hexValue, 16);
hexValue = hexValue + 0x010101;
hexValue = hexValue.toString(16);
document.write(hexValue); // 输出'ababab'

在连接0x之后,十六进制值仍然是一个字符串,所以我必须将它转换为数字,然后才能进行相加,然后我又必须将它重新转换回十六进制格式!如果要添加的数字本身就是一个十六进制字符串,或者如果考虑在所有这些操作之前先删除十六进制颜色中的#,则还有更多步骤。

肯定有更简单的方法来进行如此简单的十六进制计算!并且,只是为了明确,我不是指将所有代码放在一行上,像(parseInt("0x"+"aaaaaa",16)+0x010101).toString(16)这样,或者使用简写 - 我的意思是实际上进行更少的操作。

有没有办法让JavaScript在所有数学运算中停止使用十进制而使用十六进制?或者是否有其他方法使JavaScript更容易处理十六进制?

0