作业题目如下:
----------------------------------------------------------------
字符串截取的方法有slice(start,end+1),substring(start,end+1),substr(start,n)。他们之间在用法方面也有一些相同或不同。
slice(start,end+1):两个参数时,参数指截取位置,截取含头不含尾;一个参数时,默认截取到字符串结尾。参数可以为负数,负数就倒着数位置。
substring(start,end+1):两个参数时,参数指截取位置,截取含头不含尾;一个参数时,默认截取到字符串结尾。参数不可以为负数。
substr(start,n):两个参数时,第一个参数指截取起始位置,第二个参数指截取字符个数;一个参数时,默认截取到字符串结尾,第一个参数可为负数,第二个参数不可以为负数。
写一个例子:
var str= "今天是星期二";
console.log(str.slice(3,6));//截取“星期二”并打印
console.log(str.substring(3,6));//截取“星期二”并打印
console.log(str.substr(3,3));//截取“星期二”并打印
但是如果只知道要在str中截取字符“星期二”,但是一下子又很难数出“星期二”到底在str的哪个位置的时候,还可以用indexOf()来获取位置,如下:
var str= "今天是星期二";
var i=str.indexOf("星");//获取字符关键字的位置,indexOf()方法第一个参数为要搜索的关键字,第二个参数为搜索的起始位置,如果省略第二个参数,默认起始位置为下标0。
console.log(str.slice(i,i+4));//截取“星期二”并打印
console.log(str.substr(i,4));//截取“星期二”并打印
当然,要求截取某个字符串某个起始位置某个长度的字符串,还可以封装成一个函数。这样就可以反复调用啦。
function sub(str,startIndex,len){
return str.substr(startIndex,len);
}
console.log(sub("abcd",1,2));