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}
Difahamkan >> Syif kanan yang ditandatangani, mengapa anda memerlukan parseInt(,16)? >>Bukankah peralihan data binari yang betul? . Kemudian parseInt tidak kira apa asas ia ditukar menjadi. Data binari harus kekal tidak berubah.
Kenapa bergerak 16 bit. . Bukankah 'FFFFFF' 6bait 48bit? .
parseInt('hexStr', 16) Ayat ini bermaksud menukar rentetan yang mengandungi nombor perenambelasan kepada jenis berangka Int dengan menghurai perenambelasan sahaja
'FFFFFF' hanyalah rentetan, dan operasi anjakan yang betul memerlukan nombor.
Ambil 'FFFFFF' sebagai contoh Tiada F di bawah heksadesimal, jadi ia adalah NaN The carry berbeza untuk nilai di atas heksadesimal, jadi ia juga adalah nilai yang berbeza.
Setiap nilai warna RGB ialah 0~255, yang menduduki 8 bit. Untuk mendapatkan nilai R, anjak ke kanan sebanyak 16 bit dan keluarkan G dan B