【发布时间】:2021-08-18 03:35:43
【问题描述】:
我的应用程序组件在 reactjs 中有以下代码:
function App() {
var [expression, setExpression] = useState("");
var [result, setResult] = useState("");
return (
<div className="App">
<div id="equals">
{result}
</div>
<div id="display">
{expression}
</div>
<button id='zero' onClick={() => setExpression(expression + "0")}>0 </button>
<button id='one' onClick={() => setExpression(expression + "1")}>1 </button>
<button id='two' onClick={() => setExpression(expression + "2")}>2 </button>
<button id='three' onClick={() => setExpression(expression + "3")}>3 </button>
<button id='four' onClick={() => setExpression(expression + "4")}>4 </button>
<button id='five' onClick={() => setExpression(expression + "5")}>5 </button>
<button id='six' onClick={() => setExpression(expression + "6")}>6 </button>
<button id='seven' onClick={() => setExpression(expression + "7")}>7 </button>
<button id='eight' onClick={() => setExpression(expression + "8")}>8 </button>
<button id='nine' onClick={() => setExpression(expression + "9")}>9 </button>
<button id="add" onClick={() => setExpression(expression + "+")}>+</button>
<button id="subtract" onClick={() => setExpression(expression + "-")}>-</button>
<button id="multiply" onClick={() => setExpression(expression + "*")}>*</button>
<button id="divide" onClick={() => setExpression(expression + "/")}>/</button>
<button id="equals" onClick={() => setResult(eval(expression))}>=</button>
</div>
);
}
但是当我打开浏览器时出现错误:
SyntaxError: Octal literals are not allowed in strict mode.
我不知道如何解决它。提前致谢。
【问题讨论】:
-
它很可能来自
eval(expression)。但我们无法知道expression是什么,但它可能包含类似08的内容(数字前面为零)。
标签: javascript html reactjs