如border-bottom-color =>borderBottomColor
传传统方法
分析:
1.转大写,需要用到字符串的toUpperCase()方法
2.去掉-,需要用到字符串方法split(),这样就转成数组了,但数组中的每一个元素依然是字符串,所以可以用循环的方法取到第一个后面的元素
3.取第一个后面的元素的第一个字符,需要用到字符串的charAt()方法
4.第一个字符后面的字符,可以通过字符串截取方法substring()获得,这时把两个拼接再赋回给原数组。即完成了转换
5.用join()方法把数组的逗号去掉,拼接成字符串
var str="border-bottom-color"; function tf(){ var arr=str.split("-"); for(var i=1;i<arr.length;i++){ arr[i]=arr[i].charAt(0).toUpperCase()+arr[i].substring(1); } return arr.join(""); }; tf(str);
正则的方法
分析:
1.正则为-字符,即var re=/-\w/g;匹配到-字符
2.用正则的replace()方法替换这个规范为去掉-以及字符大写,通过回调函数第一个参数直接转大写
var str="border-bottom-color"; function tf(){ var re=/-(\w)/g; str=str.replace(re,function($0,$1){ return $1.toUpperCase(); }); alert(str) }; tf(str);