JS에 익숙하지 않고 배우려고합니다. spec에는 다음이 필요합니다. 다른 함수 *를 인수로 취하여 한 번만 호출 할 수있는 함수 버전을 만듭니다. 수정 된 함수에 대한 반복 호출은 아무 효과가 없으므로 원래 호출의 값을 반환합니다. 클로저를 사용하지 않고 어떻게이 작업을 수행 할 수 있습니까? 심지어 가능할까요? 이걸 어떻게 닫을 수 있니? * 참고 :이 원본 입력 함수에는 매개 변수가 없어야합니다.Javascript에서 간단한 클로저를 실행할 때 런타임 오류가 발생했습니다.
난에서 "예기치 않은 토큰 {"오류 받고 있어요var divide = function() {
var x = 2;
var y = 6;
return y/x;
}
var mainFunc = function (func) {
return func(){
return y/x + 1;
}
}
var output = mainFunc(divide);
console.log(divide());
console.log(output());
console.log(output());
"반환 FUNC를() {"나는 확실히 이해하지 못하는 내가 잘못 뭘하는지 :
이 내가 가진 무엇인가? 사양에 따라 divide()를 mainFunc()에 전달하고이를 reference 변수 출력으로 설정합니다. 그런 다음 divide() 및 output()을 여러 번 호출하여 클로저가 작동하고 수정 된 함수가 한 번만 발생하는지 테스트합니다. 나는 무엇을 놓치거나 이해하지 못합니까?
도움 주셔서 감사합니다. 여기
반환 FUNC를 (반환 결과는 "자체 포함 된 라이브러리") {// 이것은이다 구문 오류 및 {여기서 예기치 않은 토큰입니다. –
구문 오류는 어떻게됩니까? 나는 mainFunc()에 divide()를 전달하므로 func()가 divide 속성을 가져야한다. – rahul2001
아마 * 달성하고자하는 것을 설명하면 도움이 될 것입니다. 말로 표현하자면 코드가 아닙니다. –