나는 책을 읽고 "함수에서 변수의 범위를 제한한다"라는 말은 함수 객체에서 클로저를 상속 한 다른 객체가 해당 속성에 액세스 할 수없는 경우 해당 속성에 액세스 할 수 없음을 의미합니다.자바 스크립트의 종료는 변수의 범위 만 제한합니까?
답변
클로저는 코드가 외부 실행 컨텍스트의 변수에 액세스 할 수있는 곳입니다. 유용한 클로저에서는 변수를 포함하는 함수가 실행을 마친 후에 변수가 계속 존재합니다.
var x = (function() {
var outerA = 'A';
return function() {
return outerA;
}
}());
내부 기능 outerA
즉 그 범위 체인에, outerA
에 대한 액세스를 갖는다. 내부 기능이 너무 이후 여전히 outerA
에 액세스 할 수 있으며, x
에 할당 :
alert(x()); // A
그래서 폐쇄가 범위를 제한하지 않습니다를, 그들은 그것의 결과입니다.
이 자바 스크립트 기능을 사용하여 클래스 기반 언어에서 비공개 멤버를 호출 할 수 있습니다. 또한 여러 객체가 동일한 값 집합 (객체, 함수, 프리미티브 등)에 액세스 할 수있는 상속에 사용될 수 있습니다.
Javascript에는 상속이 없습니다. 단순히 상속을 various means으로 시뮬레이션합니다.
JS의 클로저는 단순히 해당 범위의 변수 값을 보유하는 함수의 사실을 참조합니다. 그래서 예, 같은 물체에 대해서 이야기하고있는 한 값은 유지됩니다 & 범위.
"자바 스크립트에는 상속이 없습니다"라는 말을 다시 생각해 볼 수 있습니다. 프로토 타입 상속을 사용합니다.이 상속은 클래식 클래스 기반 상속보다 훨씬 융통성이 있습니다. – RobG
@RobG 프로토 타입의 복제/연결을 언급하는 경우 상속 된 객체로 덮어 쓰기 된 속성을 처리하는 데 도움이되지 않습니다. – loxxy
나는 ECMAScript에서 구현 된 [prototype inheritance] (http://www.ecma-international.org/ecma-262/5.1/#sec-4.2.1)를 언급하고있다. "각 생성자는 프로토 타입 기반 상속과 공유 속성 "을 구현하는 데 사용되는"prototype "이라는 속성 분명히 자바 스크립트 (ECMAScript의 구현)에 상속이 있습니다. – RobG
- 1. 자바 스크립트의 전역 범위 및 로컬 범위
- 2. 자바 스크립트의 가변 범위
- 3. 자바 스크립트의 색상 범위
- 4. 자바 스크립트의 종료 범위
- 5. 자바 스크립트의 클래스와 범위
- 6. 자바 스크립트의 기능 범위
- 7. 자바 스크립트의 범위 설명
- 8. 자바 스크립트의 시간 범위 비교
- 9. Array 자바 스크립트의 window.requestFileSystem 범위
- 10. 자바 스크립트의 바인딩 및 범위
- 11. Java 스크립트의 가변 범위
- 12. PDO 변수의 범위
- 13. sqlplus 매개 변수의 범위
- 14. 자바 스크립트의 범위 선택기. 스코프가 잘못되었습니다?
- 15. 자바 스크립트의 가변 범위 GeoLocation이 작동하지 않습니다.
- 16. 자바 스크립트의 함수 생성자 - 범위 문제가 있습니까?
- 17. 자바 스크립트의 콜백 전역 범위 변경
- 18. C에서 전역 변수의 범위를 선언 된 파일로 어떻게 제한합니까?
- 19. 자바 스크립트 변수의 범위 (XUL 관련)
- 20. Open_basedir는 HTTPS 요청 만 제한합니까?
- 21. Java에서 변수의 범위
- 22. 변수의 메소드 레벨 범위
- 23. 지능형리스트와 클래스 변수의 범위
- 24. JavaScript 변수의 범위
- 25. 요청할 변수의 범위 제한
- 26. apex_application 전역 변수의 범위
- 27. Typscript : 변수의 범위
- 28. IO 정의 변수의 범위
- 29. TSQL에서 @@ 변수의 범위
- 30. 범위 변수의 셀 캡처
클로저는 범위에 영향을 미치지 않으며 범위의 결과입니다. – RobG
가능한 복제본 [JavaScript 클로저는 어떻게 작동합니까?] (http://stackoverflow.com/questions/111102/how-do-javascript-closures-work) –
"함수에서 상속받는 것"은 무엇을 의미합니까? – Sebas