| 1.  | 
javascript:var s,i,n,h='',
Start off the bookmarklet by initializing four variables.
 | 
| 2.  | 
The variable x  is set to the valid hexadecimal values.
 | 
| 3.  | 
This line prompts the user for the requested RGB values, separated by commas, as shown in Figure 17.18 .
 
 | 
| 4.  | 
If the user entered anything, continue with the code. Otherwise, the value of c  will be null, and the bookmarklet ends, as in step 10, below.
 | 
|  |  | 
| 5.  | 
Split the entry in c , separated by commas, and put the result into the s  array.
 | 
| 6.  | 
Loop around the following lines once for each of the three red, green, and blue color values.
 | 
| 7.  | 
Turn the current element of s  into a number, and save it as n .
 | 
| 8.  | 
h+=x.charAt(n>>4)+x.charAt(n&15)}
This line converts n  into 2 hexadecimal digits and adds the result to h .
 | 
| 9.  | 
void(prompt('Hexcolor:','#'+h))}
The result (preceded by a pound sign, ready to be copied into an HTML page) is displayed via a prompt command, as shown in Figure 17.19 . It's done this way instead of with an alert, so that we can copy the code and paste it later.
 
 | 
| 10.  | 
If nothing was entered in step 3, step 4 causes the code to jump to this step, where nothing happens.
 |