学习String的属性和方法
1、String对象的属性和方法
2、连字符式变量形式转为驼峰式
原理:切分之后除第一个的每部分首字母改为大写。
注意:
split():stringObject.split(separator,howmany),split() 方法用于把一个字符串分割成字符串数组,前一个参数制定分隔符,后一个参数制定生成的数组的最大长度(一般省略)。
charAt(): charAt() 方法可返回指定位置的字符。stringObject.charAt(index)
toUpperCase(): toUpperCase() 方法用于把字符串转换为大写。stringObject.toUpperCase() ,对一个字符串全部转为大写(如果没指定位置的话)。对应的方法:toLowerCase() 方法用于把字符串转换为小写,用法一样。
substr(): stringObject.substr(start,length),substr() 方法可在字符串中抽取从 start 下标开始的指定数目(length)的字符。substr() 的参数指定的是子串的开始位置和长度,因此它可以替代 substring() 和 slice() 来使用。
substring:stringObject.substring(start,stop),substring() 方法用于提取字符串中介于两个指定下标之间的字符。substring() 方法返回的子串包括 start 处的字符,但不包括 stop 处的字符。如果参数 start 与 stop 相等,那么该方法返回的就是一个空串(即长度为 0 的字符串)。如果 start 比 stop 大,那么该方法在提取子串之前会先交换这两个参数。与 slice() 和 substr() 方法不同的是,substring() 不接受负的参数。
slice(): stringObject.slice(start,end),slice() 方法可提取字符串的某个部分,并以新的字符串返回被提取的部分。String 对象的方法 slice()、substring() 和 substr() (不建议使用)都可返回字符串的指定部分。slice() 比 substring() 要灵活一些,因为它允许使用负数作为参数。slice() 与 substr() 有所不同,因为它用两个字符的位置来指定子串,而 substr() 则用字符位置和长度来指定子串。还要注意的是,String.slice() 与 Array.slice() 相似。
var foo = "get-element-by-id"; function combo(str){ var arr = str.split("-"); for(var i=1,len=arr.length;i<len;i++){ arr[i] = arr[i].charAt(0).toUpperCase()+arr[i].substr(1,arr[i].length-1); } return arr.join(""); } combo(foo);
3、解析url
原理:一直分割,然后赋值给对象。
var urlStr = "https://item.taobao.com/item.htm?spm=a217x.7282709.1997523041.2.6i95Qv&id=524219158382&scm=13003.1.5287000.9b57ece9a7c9199d0e4edf1c17873045"; function serilizeUrl(str){ var result = {}; var _url = str.split("?")[1]; _url = _url.split("&"); for(var i = 0,len = _url.length;i<len;i++){ var _m = _url[i].split("="); result[_m[0]] = _m[1]; } return result; } serilizeUrl(urlStr);
4、清除字符串前后的空格
原理:原生trim()方法,该方法会创建一个字符串的副本,删除前置及后缀的所有空格,然后返回结果。
//兼容性trim() if(!String.prototype.trim){ String.prototype.trim = function(){ return this.replace(/^s+/,"").replace(/\s+$/,""); } } //test console.log(" dfsdf dsfdsf ".trim());