我有一些代码,它接受代表十六进制数字的字符串 - 实际上是十六进制颜色 - 并添加它们。例如,添加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 更轻松地使用十六进制?