当我在 node.js 控制台中输入类似的内容时:
var f = eval("function(x) { return x*x}");
它不会计算表达式并等待我输入其他内容。
![enter image description here](https://i.stack.imgur.com/xMrJa.png)
为什么会发生这种情况?为什么我不能在这个表达式之后输入另一个表达式?
function(x) { return x*x}
是一个错误(在控制台中输入它来检查),因此 Node 的 REPL 等待更多。
如果要构建并分配函数,则必须评估表达式,即返回值的语句。通常的解决方案是用括号关闭函数表达式。
你可以写
var f = eval("(function(x) { return x*x})");
or
var f = Function("x", "return x*x");
而且当然
var f = function(x) { return x*x};
但我想你知道这个。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)