1.三个提取字符串的方法,都可接受一个或者两个参数,对slice(a,b)和substring(a,b)来说,他们的第一个参数a表示字符串起始的位置,第二个参数b表示字符串结束的位置(三个提取方法都遵循左闭右开区间)。 substr()方法第一个参数表示起始位置,第二个参数表示提取字符串的数量,这是与前两个方法不同的地方 2.三个方法当其中有负数时,slice()方法将所有负参数当成字符串的总长度+负参数值,下面代码也详细解释。substr()方法第一个参数为负数时处理方式和slice()方法相同,第二个参数为负数时转换成0; substring方法将所有负参数转换成0,下面代码详细解释:
//此处只是js代码,需要node或者用html引入js文件才能使用 let stringvalue='hello world';//let声明块作用域,用var声明也可 document.write(stringvalue.slice(3)+' ');//lo world document.write(stringvalue.substr(3)+' ');//lo world document.write(stringvalue.substring(2)+' ');//llo world document.write(stringvalue.slice(3,7)+' ');//lo w document.write(stringvalue.substr(3,7)+' ');//lo worl document.write(stringvalue.substring(2,5)+' ');//llo document.write('||||'); document.write(stringvalue.slice(-4)+' ');orld 当slice任一个参数为负数时,-4代表stringvalue字符串长度+(-4);
document.write(stringvalue.substr(-4)+' ');//orld 当substr的第一个参数为负数时,-4代表stringvalue字符串长度+(-4); //substr第二个参数为负数时,第二个参数变成0;
document.write(stringvalue.substring(-4)+' ');//hello worldsubstring任一个参数为负数,则该参数转化成0;
document.write(stringvalue.slice(3,-4)+' ');//lo wslice第二个参数为负数时,计算后结果不能比第一关参数小
document.write(stringvalue.substr(-5,4)+' ');//worl document.write(stringvalue.substring(3,-4)+' ');//helstringvalue第二个参数计算为负数转换成0可比第一个小如(3,-4)–>(3,0)–>(0,3);
最终表示0-3索引
字符串中定位子字符串方法indexOf()和lastIndexOf()
let stringvalue="hello world"; document.write(stringvalue.indexOf("o")+' ');4定位的hell(o),这个以及以下计算索引值都从正序开始;
document.write(stringvalue.lastIndexOf("o")+' ');//7定位的w(o)rld document.write(stringvalue.indexOf("o",6)+' ');//7定位的w(o)rld document.write(stringvalue.lastIndexOf("o",6)+' ');//4定位的hell(o)