2
내가 Node.js를 콘솔에서이 같은 입력 :식 평가 ("기능 (X) {반환 X * X}") 휴식 Node.js를 콘솔
var f = eval("function(x) { return x*x}");
그것은 표현식을 평가하지 않습니다 내가 다른 것을 타이핑 할 때까지 기다린다.
왜 이런 일이 무엇입니까? 왜이 식 뒤에 다른 식을 입력 할 수 없습니까?
내가 Node.js를 콘솔에서이 같은 입력 :식 평가 ("기능 (X) {반환 X * X}") 휴식 Node.js를 콘솔
var f = eval("function(x) { return x*x}");
그것은 표현식을 평가하지 않습니다 내가 다른 것을 타이핑 할 때까지 기다린다.
왜 이런 일이 무엇입니까? 왜이 식 뒤에 다른 식을 입력 할 수 없습니까?
function(x) { return x*x}
은 오류입니다 (콘솔에서 확인하십시오). 노드의 REPL이 더 기다립니다.
함수를 빌드하고 지정하려면 값을 반환하는 명령문 인 eval을 사용해야합니다. 일반적인 해결책은 함수 표현식을 괄호로 닫는 것입니다.
당신은 쓸 수 있습니다
var f = eval("(function(x) { return x*x})");
또는
var f = Function("x", "return x*x");
물론
var f = function(x) { return x*x};
의
하지만 난 당신이 하나를 알고 가정합니다.