求解下面这段代码。。怎么理解?

color='#FFFFFF';

var colorVal = parseInt(color.slice(1), 16);

result = {

    red: colorVal >> 16 & 0xFF,

    green: colorVal >> 8 & 0xFF,

    blue: colorVal & 0xFF,

}

//{red:255,green:255,blue:255}

了解到>>有符号右移,为什么要parseInt(,16)呢。>>不是对二进制数据做右移吗。。那么parseInt无论转成多少进制。二进制数据都应该不变啊。
为什么是移动16位。。'FFFFFF'不是6bytes 48bit吗。。

慕村225694
浏览 489回答 1
1回答

qq_笑_17

parseInt('hexStr', 16) 这句的意思是把包含十六进制数字的字符串以解析十六进制的方式转化成Int数值类型,只有数值类型才能移位操作
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript