模板字符串

模板字符串

ES6中引入了模板字符串,让我们告别了使用大量'' 和 +来连接字符串了写法。

要创造一个模板字符串,只需要使用反引号``将字符串包起来,模板字符串中的变量用${变量名}替代即可

  1. var a = 'o,';var b = 'd!'

  2. console.log (`Hell${a}worl${b}`);

  3. // Hello,world!

1、多行字符串

在模板字符串内,换行和空格是会保存并展示出来的

  1. var a = 'o,';var b = 'd!'

  2. console.log(`Hell${a}

  3. worl${b}`);

  4. /*

  5. Hello,

  6. world!

  7. */

2、嵌入表达式

  1. var a = 1; b = 2;

  2. console.log (`${a} + ${b} = ${a + b} `)

  3. //1 + 2 = 3

  4. 1

  5. 2

  6. 3

3、调用函数

  1. function string(){

  2. return "Hello!";

  3. }

  4. console.log(`${string()} world!`);

  5. //Hello! world!

字符串方法

一、charAt()

返回在指定位置的字符。

  1. var str="abc"

  2. console.log(str.charAt(0))//a

二、charCodeAt()

返回在指定的位置的字符的 Unicode 编码。

 
  1. var str="abc"

  2. console.log(str.charCodeAt(1))//98

三、concat()

连接字符串。

  1. var a = "abc";

  2. var b = "def";

  3. var c = a.concat(b);

  4. console.log(c);//abcdef

四、indexOf()

检索字符串。indexOf() 方法对大小写敏感!

  1. var str="Hello world!"

  2. console.log(str.indexOf("Hello"))//0

  3. console.log(str.indexOf("World"))//-1

  4. console.log(str.indexOf("world"))///6

五、match()

match() 方法可在字符串内检索指定的值,或找到一个或多个正则表达式的匹配。该方法类似 indexOf() 和 lastIndexOf(),但是它返回指定的值,而不是字符串的位置。

  1. var str="1 abc 2 def 3"

  2. console.log(str.match(/\d+/g))//123

六、replace()

replace() 方法用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。

  1. var str="abc Def!"

  2. console.log(str.replace(/abc/, "CBA"))//CBA Def!

七、search()

search() 方法用于检索字符串中指定的子字符串,或检索与正则表达式相匹配的子字符串。要执行忽略大小写的检索,请追加标志 i。如果没有找到任何匹配的子串,则返回 -1。

  1. var str="abc DEF!"

  2. console.log(str.search(/DEF/))//4

八、slice()

提取字符串的片断,并在新的字符串中返回被提取的部分。
stringObject.slice(start,end);
start :要抽取的片断的起始下标。如果是负数,则该参数规定的是从字符串的尾部开始算起的位置。也就是说,-1 指字符串的最后一个字符,-2 指倒数第二个字符,以此类推。
end:紧接着要抽取的片段的结尾的下标。若未指定此参数,则要提取的子串包括 start 到原字符串结尾的字符串。如果该参数是负数,那么它规定的是从字符串的尾部开始算起的位置。

  1. var str="abc def ghk"

  2. console.log(str.slice(6))//f ghk

九、split()

把字符串分割为字符串数组。

  1. var str="abc def ghi jkl"

  2. console.log(str.split(" "))//["abc", "def", "ghi", "jkl"]

  3. console.log(str.split("") )//["a", "b", "c", " ", "d", "e", "f", " ", "g", "h", "i", " ", "j", "k", "l"]

  4. console.log(str.split(" ",3))//["abc", "def", "ghi"]

十、toLocaleLowerCase()

把字符串转换为小写。

  1. var str="ABC def!"

  2. console.log(str.toLocaleLowerCase())//abc def!

十一、toLocaleUpperCase()

把字符串转换为大写。

  1. var str="ABC def!"

  2. console.log(str.toLocaleUpperCase())//ABC DEF!

十二、toLowerCase()

把字符串转换为小写。

  1. var str="ABC def!"

  2. console.log(str.toLowerCase())//abc def!

十三、toUpperCase()

把字符串转换为大写。

  1. var str="ABC def!"

  2. console.log(str.toUpperCase())//ABC DEF!

十四、substr()

从起始索引号提取字符串中指定数目的字符。
stringObject.substr(start,length)。
start:必需。要抽取的子串的起始下标。必须是数值。如果是负数,那么该参数声明从字符串的尾部开始算起的位置。也就是说,-1 指字符串中最后一个字符,-2 指倒数第二个字符,以此类推。
length:可选。子串中的字符数。必须是数值。如果省略了该参数,那么返回从 stringObject 的开始位置到结尾的字串。

十五、substring()

提取字符串中两个指定的索引号之间的字符。
stringObject.substring(start,stop)。
start :必需。一个非负的整数,规定要提取的子串的第一个字符在 stringObject 中的位置。
stop :可选。一个非负的整数,比要提取的子串的最后一个字符在 stringObject 中的位置多 1。如果省略该参数,那么返回的子串会一直到字符串的结尾。

  1. var str="abc def"

  2. console.log(str.substring(2))//c def

  3. console.log(str.substring(2,4))// c


相同点:如果只是写一个参数,两者的作用都一样:都是是截取字符串从当前下标以后直到字符串最后的字符串片段。
substr(startIndex);
substring(startIndex);

  1. var str = '123456789';

  2. console.log(str.substr(2)); // "3456789"

  3. console.log(str.substring(2)) ;// "3456789"

不同点:第二个参数
substr(startIndex,lenth): 第二个参数是截取字符串的长度(从起始点截取某个长度的字符串);
substring(startIndex, endIndex): 第二个参数是截取字符串最终的下标 (截取2个位置之间的字符串,‘含头不含尾’)。

  1. console.log("123456789".substr(2,5)); // "34567"

  2. console.log("123456789".substring(2,5)) ;// "345"

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值