我有一些代码,它接受表示十六进制数字的字符串 - 实际上是十六进制颜色 - 并将它们相加。例如,将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'
在连接“0x”后,十六进制值仍然是一个字符串,所以我必须将其更改为数字,然后进行添加,然后我必须将其再次更改为十六进制格式!如果我要添加的数字本身就是十六进制字符串,或者考虑到在所有此操作开始之前我要从十六进制颜色中删除#,那么步骤甚至更多。
肯定有更简单的方法来进行简单的十六进制计算!并且只是为了明确,我不仅指将所有内容放在一行上,例如(parseInt(" 0x "+" aaaaaa ", 16)+ 0x010101) .toString(16)或使用速记符号-我的意思是实际上执行较少的操作。
是否有某种方法可以使JavaScript停止使用十进制进行其所有数学运算,并改为使用十六进制?还是有其他方法可以更轻松地使用JS与十六进制配合工作?