新手求助:HTML计算器中匿名函数计算字符串表达式无结果问题
解决HTML计算器表达式计算无输出的问题
- 你的核心问题是
calcs函数仅返回计算结果,但事件监听器调用它时,返回值不会自动输出到控制台或更新计算器显示。 - 你需要在函数内主动处理结果:打印到控制台,或者更新页面上的显示区域。
修改后的calcs函数示例:
function calcs() { // 计算表达式结果 const calculationResult = new Function("return " + userInput)(); // 打印结果到控制台 console.log(calculationResult); // 如果有显示结果的DOM元素,比如id为"display"的元素,更新其内容 // document.getElementById("display").textContent = calculationResult; return calculationResult; }
额外提示:
- 确认
userInput变量在calcs函数的作用域内可访问(你提到硬编码能运行,大概率没问题)。 new Function和eval都存在安全风险(如果用户输入恶意代码会执行),后续学习阶段可以尝试自己实现简单的表达式解析逻辑,比如拆分数字和运算符后计算,更安全也更有助于理解原理。
内容的提问来源于stack exchange,提问作者Rick Hanley
相关产品推荐
相关产品推荐

