ECMAScript-字符串

1.ES6遍历字符串接口

1.ES6为字符串新添加了遍历接口

for (let s of 'hello') {
    console.log(s)
}

2.字符串模板
我们在之前要在js字符串中拼接一个变量,可能会用字符串的拼接,类似下边这种写法:

$('#result').append(
  'There are <b>' + basket.count + '</b> ' +
  'items in your basket, ' +
  '<em>' + basket.onSale +
  '</em> are on sale!'
);

这种方式及其不方便,各种引号就能把你绕晕,还好,ES6我们提供了字符串模板,让代码的可维护性更好,不用再为繁琐的拼接字符串而烦恼了。

$('#result').append(
  `There are <b> ${basket.count} </b> 
  items in your basket, 
  <em> ${basket.onSale}</em> are on sale!`
);

3.标签模板
模板字符串的功能,不仅仅是上面这些。它可以紧跟在一个函数名后面,该函数将被调用来处理这个模板字符串。这被称为“标签模板”功能(tagged template)。

alert('124');
等价于
alert`123`;

又比如下面的这个函数调用

let a = 1;
let b = 2;
tag`Hello ${a + b} world ${a * b}tangbaobao${a/b}`;
function tag(param,...str) {
    console.log(param,str);
}
//输出:[ 'Hello ', ' world ', 'tangbaobao', '' ] 3 2 0.5

第一个参数是数组类型,其中包装了没有被替换的字符串,第二个参数是是一个不定长的参数,其中包含了被替换的参数。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在JavaScript中,你可以使用`str.replace()`方法来替换字符串中指定位置的字符。如果你只想替换第一个匹配到的字符,你可以使用`str.replace("需要替换的字符串", "新字符串")`。例如,将"yyyy-MM-dd-hh-mm-ss"中的"-"替换为"/",你可以这样写:`"yyyy-MM-dd-hh-mm-ss".replace("-", "/")`,结果为"yyyy/MM-dd-hh-mm-ss"。\[1\] 如果你想替换所有匹配到的字符,你可以使用正则表达式,并在`str.replace()`方法中使用`/g`标志。例如,将"yyyy-MM-dd-hh-mm-ss"中的所有"-"替换为"/",你可以这样写:`"yyyy-MM-dd-hh-mm-ss".replace(/-/g, "/")`,结果为"yyyy/MM/dd/hh/mm/ss"。\[1\] 另外,从ECMAScript 2021规范开始,JavaScript原生支持了`replaceAll()`方法,它可以直接替换所有匹配的子串,而不需要使用正则表达式。你可以使用`str.replaceAll("需要替换的字符串", "新字符串")`来实现替换。\[2\] 总结起来,你可以使用`str.replace()`方法或`str.replaceAll()`方法来在JavaScript字符串中指定位置进行替换操作。 #### 引用[.reference_title] - *1* [js中进行字符串替换的方法](https://blog.csdn.net/weixin_45547638/article/details/126344911)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [js字符串替换](https://blog.csdn.net/qq_63608386/article/details/130185298)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [javascript-字符串函数-指定位置字符-位置查找-字符串替换-字符串分割](https://blog.csdn.net/m0_68231587/article/details/130215122)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值