1.概念:
任意多个任意字符组合在一起,用引号引起来
2.字符串的创建:
(1)字面量方式
var str = "abcdef";
(2)构造函数方式
var str = new String("abcdef");
3.字符串的比较:
阿斯克码:计算机存储字符的时候,只能使用二进制来存储,所以最初人们发明了字母和特殊字符和数字的对照表,就是阿斯克码。总共128个,包含特殊符号和英文字母。
'a' > 2 // 转成数字比较
'3' > '20' // 首字符比较
'a' > 'b' // 字母越靠后越大
'a' > 'A' // 小写字母大于大写字母
总结:1.字符串比较的时候,首字符比较;首字符相等,第二个字符比较...
2.字母比较的时候,是转成阿斯克码进行比较的
小写字母>大写字母
字母>数字
字母越靠后,越大(z>a)
4.字符串API:
方法名 | 用法 | 语法 |
---|---|---|
charAt | 通过下标来获取对应的字符 | 字符串.charAt (序号) |
charCodeAt | 通过一个下标得到字符对应的阿斯克码 | 字符串.charCodeAt(序号) |
String.fromcharCode | 通过一个阿斯克码得到字符 | String.fromcharCode(阿斯克码) |
split | 将字符串分割为多段,组成一个数组返回 | 字符串.split(分隔符[,保留的元素个数])//传空字符,就会把每个字符挨个切开 |
substring | 截取字符串 | 字符串.substring(开始下标,[,结束下标]) //结果包含开始下标对应的字符,不包含结束下标对应的字符 //如果省略结束下标,默认截取到字符串的结尾 //如果第一个参数大于第二个参数,那就先交换两个参数的位置,再截取 //如果下标给了负数,会转换成0,再截取 |
substr | 截取字符串 | 字符串.substr(开始下标,截取的字符个数) //如果省略第二个参数,默认截取到字符串的结尾 //开始下标可以使用负数表示 |
slice | 截取 | 字符串.slice(开始下标,结束下标) //含头不含尾 //用法和数组的slice一样 |
toUpperCase | 转大写 | 字符串.toUpperCase() |
toLowerCase | 转小写 | 字符串.toLowerCase() |
concat | 拼接 | 字符串.concat(要拼接的值) // concat方法不改变原字符串,需要使用新的变量接收最后的结果 var rest = 字符串.concat(要拼接的值)// concat可以拼接多个值 |
indexOf | 通过值找到对应的下标(第一次出现) 从左边开始找如果字符串里不存在查找的值,得到-1 | 字符串.indexOf(元素,[开始查找的起始下标]) |
lastIndexOf | 通过值找到对应的下标(最后一次出现)从右边开始找如果字符串里不存在查找的值,得到-1 | 字符串.lastIndexOf(元素,[开始查找的起始下标]) |
trim(ES5新增) | 去除开头结尾的空格(去除前后空格,中间空格不去除) | 字符串.trim() |
5.ES6新增字符串API:
repeat()重复功能:
语法:var rest = 字符串.repeat(重复次数)
var str = 'hello word'
var str1 = str.repeat(3)
console.log(str1) //hello wordhello wordhello word
1.判断字符串是否以某个字符(子字符串)开头 - 返回布尔值
字符串.startsWith(字符)
字符串.startsWith(字符,索引)//判断字符串[索引]是否以某字符开头
2.判断字符串是否以谁结尾 - 返回布尔值
字符串.endsWith(字符)
字符串.endWith(字符,索引)//判断字符串[索引]是否以某字符前的字符结尾
3.判断字符串中是否包含某一个字符/子字符串 - 返回布尔值
字符串.includes(字符)