其实这个api的作用和我前面写的 目标字符串驼峰化 功能上是一样的。
/* @example 'font-size'.camelize(); //fontSize */
直接上代码吧,处理上prototype还是有点区别的。
关于String.charAt的可以看看我写的:http://zhangyaochun.iteye.com/blog/1475764
camelize: function(){ var parts = this.split('-'), //字符串转数组 'font-size' -----['font','size'] len = parts.length; if(len == 1){ return parts[0]; //表明没有-分割直接返回 } //下面就要处理-moz--box-shadow 这样的第一个字符是-的 var camelized = this.charAt(0) == '-' ? parts[0].charAt(0).toUpperCase() + parts[0].substring(1) : parts[0]; //循环处理 ---注意第一个已经处理过了 所以i从1开始 for(var i=1;i<len;i++){ cameplize += parts[i].charAt(0).toUpperCase() + parts[i].substring(1) } return camelized; }