String类型是字符串的包装类型,可以通过构造函数
new String('abc')
的方式来创建,也可以var str=’abc’字面量的方式创建。所有的字符串值都可以访问String对象的方法
valueOf()、toString()、toLocaleString()都返回对象所表示的基本字符串的值,length表示包含的字符数
String类型提供的方法有:
- 字符方法
var v='hello'
console.log(v.charAt(0)) //h
console.log(v.charCodeAt(0))//h的字符编码
console.log(v[0])//h
- 字符串操作方法
//concat +
console.log('v:',v,'result:',v.concat(' world')) //hello world
console.log('v:',v,'result:',v+' world') //hello world
//slice substr substring 基于字符串创建新字符串的方法
console.log(v.slice(1,3)) //start:1 end:3(不包括end)
console.log(v.substring(1,3)) //start:1 end:3(不包括end)
console.log(v.substr(1,3)) //start:1 length:3
- 字符串位置方法
//indexOf正向搜索 lastIndexOf反向搜索
console.log(v.indexOf('l')) //第一次出现的位置 2
console.log(v.lastIndexOf('l')) //最后一次出现的位置 3
//第一个参数为从某个字符开始查找
console.log(v.indexOf('l',3)) //第一次出现的位置 3
console.log(v.lastIndexOf('l',3)) //最后一次出现的位置 3
- trim方法
console.log(' hello word '.trim()) //hello word
- 大小写转换方法
console.log('hello WORLD'.toLowerCase()) //转为小写 hello world
console.log('hello WORLD'.toLocaleLowerCase())
console.log('hello word'.toUpperCase()) //转为大写 HELLO WORD
console.log('hello word'.toLocaleLowerCase())
- 字符串的模式匹配方法
//字符串的模式匹配 match search replace split
match:字符串调用该方法和正则上调用exec相同;
var text='cat,bat'
var pattern=/.at/g //.表示匹配除换行符之外的任何单个字符
console.log(text.match(pattern)) //[ 'cat', 'bat' ]
console.log(text.search(pattern)) //0 第一个匹配项的索引
console.log(text.replace('at','ct')) //cct,bat,只替换第一个at
console.log(text.replace(/at/g,'ct')) //cct,bct,替换所有at
console.log(text.replace(/(.at)/g,"word--$1")) //$1表示第一个捕获组,word--cat,word--bat
console.log(text.split('')) //[ 'c', 'a', 't', ',', 'b', 'a', 't' ]
console.log(text.localeCompare('brick')) //1(cat,bat的首字母c排在字母b的后面,故为1)