例如:
let height = 9
let width = 8
let obj = 'width*height'
console.log(eval(obj)) //72
不用eval()的函数方法前提下,有没有其他的方法解决?
麻烦大家了,写一下步骤过程,谢谢
例如:
let height = 9
let width = 8
let obj = 'width*height'
console.log(eval(obj)) //72
不用eval()的函数方法前提下,有没有其他的方法解决?
麻烦大家了,写一下步骤过程,谢谢
试过Function
么?
let height = 9;
let width = 8;
let obj = 'width*height';
const exec = new Function('width', 'height', `return ${obj}`);
console.log(exec(width, height));// 72
10 回答11.4k 阅读
4 回答3.3k 阅读✓ 已解决
2 回答2.9k 阅读✓ 已解决
3 回答2.5k 阅读✓ 已解决
3 回答2.3k 阅读✓ 已解决
2 回答2.7k 阅读✓ 已解决
2 回答2k 阅读✓ 已解决
如果表达式里没有别的标识符,只要识别出来的都是参数,可以用
/\w+/
来识别,通过match()
拿到全部,再通过 Set 来去重(但不保证顺序)如果想要保证顺序,自己写个去重