String对象
源码下载包装对象
字符串、数字、布尔一样都属于值类型的数据,希望字符串和数字变量拥有方法和属性,要通过一个机制把它们临时包装成对象,而又不影响他们的本身的数据类型。可以对比 Number对象
String对象属性
length
返回字符串的长度
let str = "但使龙城飞将在,不教胡马度阴山。"; let a = str.length; //a的值为16
prototype
prototype是String对象的属性,同时prototype也是对象,成为原型对象,length是prototype原型对象的属性,访问length属性的方式是String.prototype.length, 平时编写代码直接写String.length即可,当String差找不到length属性时就会跳转到prototype对象,查找prototype属性。这一点适用所有利用构造函数创建的对象,对于String是 临时适用new和构造函数String()包装字符串字为符串对象,属性或方法调用后销毁。
String对象方法
split("")
分割字符串,返回数组,参数为"分割符号",""表示空。
-
应用案例
let str = "可用、能用、好用、够用"; let a = str.split( "" )
//a的值为["可用","、","能用","、","好用","、","够用"]let str = "可用、能用、好用、够用"; let a = str.split( "、" )
//a的值为["可用","能用","好用","够用"]
slice(start,end)
获取字符串片段,字符串每一个字符分配一个地址(指针),比如字符串"汉唐宋明",第一个字符“汉”对应的位置是0,第二个字符“唐”对应的位置是1,以此类推。 start表示抽取开始地址(字符串下标),end结束地址(字符串下标),选取返回的字符,是[start,end]区间,包含start,不包含end。end也可以不写,表示start之后的全部字符。如果start是负数,表示倒数第几个字符, 比如-1表示最后一个,-2表示倒数第2个字符。
let str = "道可道,非常道。"; let a = str.slice( 4 )
//a的值为"非常道。"let str = "道可道,非常道。"; let a = str.slice( 0,3 )
//a的值为"道可道"let str = "道可道,非常道。"; let a = str.slice( -4,-1 )
//a的值为"非常道 "
应用案例:字符串"道可道,非常道。"
字符串 | 道 | 可 | 道 | , | 非 | 常 | 道 | 。 |
正下标 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
负下标 | -8 | -7 | -6 | -5 | -4 | -3 | -2 | -1 |
indexOf("待检查的字符",开始检索下标)
检查字符的位置,并返回字符下标地址
- 方法的第一个参数可以连写多个字符,比如检索"道可道,非常道。"中的"非常道",返回的结果是第一个字符"非"的下标
- 方法的第二个参数可以省略表示全文检索
- 没有检索到返回-1
- 字符串中同时含有多个要检索的字符,一地个为准,比如比如检索"道可道,非常道。"中的"非常道",返回结果0
let str = "中国有礼仪之大,故称夏;有章服之美,谓之华。";
let a = str.indexOf("中国" )
//a的值为0let str = "中国有礼仪之大,故称夏;有章服之美,谓之华。";
let a = str.indexOf("国" )
//a的值为1