前端js中使字符串代码运行

前端js中运行字符串代码有以下4种方案
1、使用eval(“要执行的字符串”)
2、使用new Function(“要执行的字符串”)
3、setTimeOut(“要执行的字符串”,500)
4、setInterval(“要执行的字符串”,500)

结合eval和new Function()一起实现
try {
const val = new Function(“要执行的字符串”);
let eleResult = val(); // 这里必须调用val(),不然不会执行
if (!eleResult) {
eleResult = eval(“要执行的字符串”);
}
} catch (err) {
console.info(‘执行字符串js出错’);
}

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可以使用 JavaScript 来实现这个功能。首先,需要将这段字符串插入到 HTML 中,并用 CSS 样式控制文字颜色。然后,对于每一个需要变为红色的词语,可以使用正则表达式匹配其在字符串中的位置,并用 JavaScript 修改其 HTML 标签的 class 属性来改变文字颜色。 以下是一种实现方式: HTML 代码: ```html <div id="text">这是一段字符串,其中有些词需要变为红色。</div> ``` CSS 样式: ```css .red { color: red; } ``` JavaScript 代码: ```javascript // 需要变为红色的词语以及其在句中的位置 const words = [ { word: '字符串', index: 5 }, { word: '红色', index: 13 } ]; // 获取字符串元素 const textEl = document.getElementById('text'); // 将字符串转换成数组,以便修改其中的某些部分 const textArr = textEl.innerHTML.split(''); // 遍历每一个需要变为红色的词语 words.forEach(({ word, index }) => { // 构造正则表达式,匹配该词语在字符串中的位置 const regex = new RegExp(`\\b${word}\\b`); const match = textEl.innerHTML.match(regex); if (match) { // 获取该词语在字符串中的起始位置和结束位置 const start = match.index + index; const end = start + word.length; // 将该词语在数组中对应的部分标记为红色 textArr.splice(start, 0, '<span class="red">'); textArr.splice(end + 1, 0, '</span>'); } }); // 将修改后的数组转换回字符串,并更新页面中的元素 textEl.innerHTML = textArr.join(''); ``` 运行以上代码,就可以将指定词语在字符串中的位置变为红色了。需要注意的是,以上实现方式默认词语以空格分隔且不包含标点符号,如果需要处理更复杂的情况,可能需要对代码进行一些调整。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值