学这些东西,就像是扎马步。小说里郭靖学不会招数,就会扎马步。搞JS,内力还是必须要深厚,深厚,深厚。
1,stringObject.slice(start,end)
slice() 方法可提取字符串的某个部分,并以新的字符串返回被提取的部分。
参数 |
描述 |
---|---|
start |
要抽取的片断的起始下标。如果是负数,则该参数规定的是从字符串的尾部开始算起的位置。也就是说,-1 指字符串的最后一个字符,-2 指倒数第二个字符,以此类推。 |
end |
紧接着要抽取的片段的结尾的下标。若未指定此参数,则要提取的子串包括 start 到原字符串结尾的字符串。如果该参数是负数,那么它规定的是从字符串的尾部开始算起的位置。 |
返回值
一个新的字符串。包括字符串 stringObject 从 start 开始(包括 start)到 end 结束(不包括 end)为止的所有字符。
var str = "1234"; console.log(str.slice()); //1234 console.log(str.slice(0,1)); //0 console.log(str.slice(0,-1)); //123 console.log(str.slice(1)); //234 console.log(str.slice(-2,-1)); //3 console.log(str.slice(-1,-2)); //空字符串 console.log(str.slice(0,200)); //1234 console.log(str.slice(200,1)); //空字符串
2,stringObject.charAt(index)
返回指定位置的字符。
参数 | 描述 |
---|---|
index | 必需。表示字符串中某个位置的数字,即字符在字符串中的下标。 |
var str = "1234"; console.log(str.charAt(1)); //2 console.log(str.charAt(222)); //空字符串 console.log(str.charAt(-1)); //空字符串
3,stringObject.charCodeAt(index)
charCodeAt() 方法可返回指定位置的字符的 Unicode 编码。这个返回值是 0 - 65535 之间的整数。用法跟charAt差不多,不过我好奇的是,越界会返回什么:NaN.
var str = "1234"; console.log(str.charCodeAt(1)); //2 console.log(str.charCodeAt(222)); //NaN console.log(str.charCodeAt(-1)); //NaN
4,stringObject.substring(start,stop)
用于提取字符串中介于两个指定下标之间的字符。
参数 | 描述 |
---|---|
start | 必需。一个非负的整数,规定要提取的子串的第一个字符在 stringObject 中的位置。 |
stop |
可选。一个非负的整数,比要提取的子串的最后一个字符在 stringObject 中的位置多 1。 如果省略该参数,那么返回的子串会一直到字符串的结尾。 |
细节:
1,start>stop,那么参数就反过来。
2,参数小于0就变成0。
3,参数不是number,就会先转换成number。
var str = "1234"; console.log(str.substring(0,1)); //1 console.log(str.substring(false,1)); //1console.log(str.substring(0,-1)); //空字符 console.log(str.substring(2,1)); //2,等价于substring(1,2) console.log(str.substring(0,0)); //空字符串 console.log(str.substring(0)); //1234 console.log(str.substring(0,100)); //1234console.log(str.substring(-1)); //1234
5,String.fromCharCode(numX,numX,...,numX)
一个或多个 Unicode 值,即要创建的字符串中的字符的 Unicode 编码。静态方法。
细节:如果传入的不是数字,那么会先转换成字符串,然后在转number,最后转字符的 Unicode 编码。
console.log(String.fromCharCode(76)); //L console.log(String.fromCharCode("76")); //L console.log(String.fromCharCode("76","76")); //LL console.log(String.fromCharCode("a")); //空字符串 console.log(String.fromCharCode(null)); //空字符串 console.log(String.fromCharCode(undefined)); //空字符串 console.log(String.fromCharCode([76])); //Lconsole.log(String.fromCharCode({})); //空字符串 console.log(String.fromCharCode(true)); //空字符串 console.log(String.fromCharCode(false)); //空字符串
6,stringObject.indexOf(searchvalue,fromindex)
可返回某个指定的字符串值在字符串中首次出现的位置。找不到就返回-1
参数 | 描述 |
---|---|
searchvalue | 必需。规定需检索的字符串值。 |
fromindex | 可选的整数参数。规定在字符串中开始检索的位置。它的合法取值是 0 到 stringObject.length - 1。如省略该参数,则将从字符串的首字符开始检索。 |
细节:searchvalue如果不是字符串,会转成字符串,然后再寻找.
var str = "1234"; console.log(str.indexOf("2")); //1 console.log(str.indexOf(2)); //1 console.log(str.indexOf([2])); //1 console.log(str.indexOf("5")); //-1,不存在 console.log(str.indexOf("4",4)); //-1,index越界
7,stringObject.split(separator,howmany)
把一个字符串分割成字符串数组。
参数 | 描述 |
---|---|
separator | 必需。字符串或正则表达式,从该参数指定的地方分割 stringObject。 |
howmany | 可选。该参数可指定返回的数组的最大长度。如果设置了该参数,返回的子串不会多于这个参数指定的数组。如果没有设置该参数,整个字符串都会被分割,不考虑它的长度。 |
细节:
1,如果把空字符串 ("") 用作 separator,那么 stringObject 中的每个字符之间都会被分割。
2,参数无效就返回该字符串。
var str = "1 2 3"; console.log(str.split(" ").toString()); //1,2,3 console.log(str.split(/\s/).toString()); //1,2,3 console.log(str.split("4").toString()); //1 2 3,参数无效就返回该字符串 console.log(str.split("").toString()); //1, ,2, ,3,参数为空字符串就全部分割
参考:http://www.w3school.com.cn/jsref/jsref_obj_string.asp
时间: 2024-10-16 11:42:50