博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
js实现可执行的字符串计算
阅读量:6840 次
发布时间:2019-06-26

本文共 420 字,大约阅读时间需要 1 分钟。

如何实现一个函数求得可执行字符串(例如${a}+${b}) 在某一个对象(例如const info = {a: 1, b: 2}) 下的值呢? 很容易想到的是使用eval(暂时不考虑安全性),下面是一种实现方案:

execStringExpression(expr, info) {    let exprF = expr.replace(/\$\{([^}]+)\}/g, '${this[\'$1\'] || \'\'}')    const fn = new Function(`return \`${exprF}\``).bind(info || {})    try {      return  eval(fn())    } catch(e) { console.log(e); }    return ''  }复制代码

转载于:https://juejin.im/post/5b97aa325188255c6977ea8e

你可能感兴趣的文章
MyBatis延迟加载
查看>>
利用MAVEN打包可运行jar包,包括依赖的第三方包
查看>>
Java调用 shell脚本阻塞
查看>>
linux系统裁剪
查看>>
rabbitmy实战
查看>>
mysql-Mac终端下遇到的问题总结
查看>>
表空间迁移(二)
查看>>
准备mysql函数库和PHP文件
查看>>
初学者应该了解的编程陷阱:javascript篇
查看>>
【安全牛学习笔记】手动漏洞挖掘(三)
查看>>
硬链接和软链接使用,以及区别
查看>>
history的详解与使用
查看>>
随机数
查看>>
【入门须知】学DIV CSS技术如何入门?
查看>>
js中match、replace方法中使用正则表达式
查看>>
Unity3D小功能 小技巧 小教程 小原理(持续更新...)
查看>>
Bullmind在线读书笔记软件
查看>>
#技术分享# “乐高”内核的诞生
查看>>
我的友情链接
查看>>
rtmp的URL里面mp3:和mp4:是啥意思
查看>>