首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在不使用eval的情况下计算javascript中的字符串

在不使用eval的情况下计算JavaScript中的字符串,可以使用以下方法:

  1. 使用Function构造函数:可以通过将字符串作为函数体传递给Function构造函数来创建一个函数,并立即调用该函数来计算字符串。例如:
代码语言:txt
复制
var str = "1 + 2 * 3";
var result = new Function("return " + str)();
console.log(result); // 输出 7
  1. 使用数学运算函数:如果字符串中只包含数学运算表达式,可以使用JavaScript内置的数学运算函数来计算字符串。例如:
代码语言:txt
复制
var str = "1 + 2 * 3";
var result = eval(str);
console.log(result); // 输出 7
  1. 手动解析字符串:如果字符串中包含复杂的表达式,可以手动解析字符串并计算结果。这需要根据字符串的语法规则进行分析和计算。以下是一个简单的示例:
代码语言:txt
复制
var str = "1 + 2 * 3";
var tokens = str.split(" ");
var stack = [];
var operators = {
  "+": function(a, b) { return a + b; },
  "-": function(a, b) { return a - b; },
  "*": function(a, b) { return a * b; },
  "/": function(a, b) { return a / b; }
};

tokens.forEach(function(token) {
  if (operators[token]) {
    var b = stack.pop();
    var a = stack.pop();
    var result = operators[token](a, b);
    stack.push(result);
  } else {
    stack.push(parseFloat(token));
  }
});

var result = stack.pop();
console.log(result); // 输出 7

这些方法可以在不使用eval的情况下计算JavaScript中的字符串。它们提供了一种安全且可控的方式来执行动态生成的代码。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

23分54秒

JavaScript教程-48-JSON在开发中的使用【动力节点】

11分50秒

JavaScript教程-49-JSON在开发中的使用2【动力节点】

8分26秒

JavaScript教程-50-JSON在开发中的使用3【动力节点】

4分21秒

JavaScript教程-51-JSON在开发中的使用4【动力节点】

19分33秒

JavaScript教程-52-JSON在开发中的使用5【动力节点】

7分58秒

21-基本使用-Nginx反向代理在企业中的应用场景

1分53秒

在Python 3.2中使用OAuth导入失败的问题与解决方案

29分14秒

Web前端 TS教程 30.在TypeScript中使用第三方的javaScript库 学习猿地

27分24秒

051.尚硅谷_Flink-状态管理(三)_状态在代码中的定义和使用

13分46秒

16.尚硅谷-IDEA-版本控制在IDEA中的配置和使用.avi

13分46秒

16.尚硅谷-IDEA-版本控制在IDEA中的配置和使用.avi

6分24秒

16-JSON和Ajax请求&i18n国际化/03-尚硅谷-JSON-JSON在JavaScript中两种常用的转换方法

领券