提纲
javaScript语言中通过parseInt()和toString()进行数字与字符串之间的转换,这种相互间的转换在许多方面都有应用场景。
- 
    
字符串转数字: parseInt(str, rad);
 - 
    
数字转字符串: toString(rad);
 
注意
- 一般通常用paseInt()的时候不写第二个参数,即不指定进制转换的基数时,有可能不会转换成功,结果为NaN, 指定第二个参数,便于parseInt函数识别字符串代表的数据类型,这个方法可用于颜色值从16进制转为十进制rgb(r,g,b)值。
 - 同样一般在用toString()时,也可以不指定进制转换基数(默认为10,即默认转化为10进制数),但如果要转化为指定进制的数就需要指定基数了,这个方法可应用于颜色的rgb转16进制颜色。
    
场景1:
背景:
一道百度面试题目
 
需求:
将16进制颜色如#ffffff转为RGB(255,255,255)的形式
方案:
parseInt(string, radix) 解析一个字符串并返回指定基数的十进制整数
代码:
function transformHEXToGRB(str){
    
    let r = str.slice(1,3);
    let g = str.slice(3,5);
    let b = str.slice(5);
    
    
    return 'rgb('+parseInt(r,16)+','+parseInt(g,16)+','+parseInt(b,16)+')';
    
}
transformHEXToGRB('#ffffff') // rgb(255, 255,255)
场景2:
rgb转16进制颜色值
代码
function transformHEXToGRB(str){
   let value = str.slice(4,-1);
   let arr=value.split(',');
   let re="#"
   arr.forEach(v=>{       
    re+=parseInt(v).toString(16)
   }) 
   console.log(re) 
} 
transformHEXToGRB('rgb(155, 225,2)')// #9be12