이 비디오에서는 자바 스크립트에서 범위라는 개념을 논의 할 것입니다.
범위는 일부 코드가 실행되는 컨텍스트를 나타냅니다.
그래서 우리가 코드를 가지고있는 곳이라면 Say hello라는 함수 안에 있다고합시다.
이 코드는 특정 상황에서 실행됩니다.
따라서 변수가있을 수 있으며 속성이있을 수 있으며 범위는 해당 함수에서 볼 수있는 변수 및 속성을 나타냅니다.
그리고 그것은 다른 함수 내부에서 또는 다른 함수 내부에 중첩 된 함수가있을 수 있습니다.
당신이 할 수있는 일이 있습니다.
우리는 다른 범위를 가질 수도 있고 다른 변수가 보일 수도 있습니다.
그래서 몇 가지 예를 들자면 이것이 맞는 것입니다.
이것은 분명히 어렵고 복잡한 주제이지만, 당신을 위해 그것을 단순화하기 위해 최선을 다할 것입니다.
여기서 간단한 것을 시작해 봅시다.
Declare function Math 그리고 우리가 할 수학 연산은 변수 x를 40이라고 선언하면 그 로그 X를 취소 할 것입니다.
그러니 수학을 해보고 40 점을 얻으세요.
이 범위에서이 함수의 내부에서 x를 40이라고합니다.
그러나 X에서 액세스하려고하면 함수 외부에서 어떤 일이 발생할 것으로 예상됩니까?
x가 정의되지 않았다는 오류가 발생합니다.
이것이 우리에게 보여 주듯이이 함수 내부에 두 개의 서로 다른 범위가 있다는 것은 하나의 컨텍스트라는 것입니다.
X는 여기에 정의되어 있지만 외부에는 정의되어 있지 않으며 우리는 전역 범위라고 부르는 것을 우리는 어떤 함수에도 포함되어 있지 않습니다.
X를 입력하면 X가 무엇인지 모르기 때문에 오류가 발생합니다.
이 범위에는 표시되지 않습니다.
그래서 우리가 x에 대해 x를 정의한다면, 이것을 그냥 낮추라고합시다.
이제 전역 범위에서이 함수 밖에있을 때 X에 액세스하면됩니다.
안녕하세요.
그래서이 문맥에서 X는 안녕하세요.
그러나 만약 내가 다시 수학을한다면 이번에는 어떤 일이 일어날 지 기대하고 있습니다.
이 맥락에서 여전히 40입니다.
그래서 그것은 정말로 중요합니다.
함수를 만들 때 자체 범위를 변수 자체의 집합으로 갖습니다.
그렇다고 함수 대신에 함수 밖에서 정의 된 변수에 액세스 할 수는 없다는 것을 의미하지는 않습니다.
그래서 예제를 보여 드리겠습니다.
여기서 모든 것을 지우 겠고 이번에 변수 Y 변수를 사용합시다. y는 9 9와 같습니다.
따라서 전역 범위에서 y에 액세스 할 수 있습니다.
이제 함수를 선언하면 그 로그를 취소하고 싶다면 더 많은 계산을 해보 죠.
왜 당신은 오류가 있다고 생각합니까?
또는이 작업은 정상적으로 진행됩니다.
괄호로 수학을 더 해보 죠.
그리고 그것은 나에게 99를 준다.
그래서 이것이 우리에게 보여 주는 것은 우리가 함수 밖에서 무언가를 정의 할 때 그 함수 안에 여전히 접근 할 수 있다는 것입니다.
이것을 아동 범위라고 생각하십시오.
이것은 더 깊은 레벨로 드릴 다운하는 것이 더 구체적이며, 하위 범위는 상위 범위에서 찾을 수있는 항목에 액세스 할 수 있습니다.
그래서 그 유추가 도움이된다면 그걸로 나아갈 수 있습니다.
그러나 기본적으로 함수 밖에서 변수를 정의하면 함수 내부에서 사용할 수 있습니다.
그러나 그 반대는 사실이 아닙니다.
여기에 또 다른 예가 있습니다.
더 많은 수학을 할 때 y의 값을 실제로 바꾸면 어떨까요?
그래서 나는 왜 그것이 100과 같다고 말합니다.
그런 다음 y를 인쇄합니다.
이 경우에 어떻게 생각하십니까?
그것은 시도입니다.
이제 y가 지금 무엇인지 살펴 보겠습니다.
아흔 아홉구나.
그리고 더 많은 수학을한다면 100을 프린트합니다.
따라서 함수 y 내부는 100이고 100을 출력합니다.
하지만 기능 밖에서는 어떻습니까?
방금 Y를 입력하면 어떻게됩니까?
그것은 또한 100입니다.
그래서 여기서 일어난 일은 제가 글로벌 범위의 기능 외부에서 '99로 먼저 선언 한 것입니다.
그리고 함수 안에서 y를 바꿨습니다.
그래서 이것은 여기에 선언 된 이전 변수를 실제로 발견하고 그것을 변경 한 범위에서 새로운 변수 y를 선언하지 않았습니다.
그래서 여기에.
왜 백과 밖 모두 100입니다.
여기에 또 하나의 예가 있습니다.
변수 문구를 거기에서 높이 평가 한 다음 함수가 무언가를하도록합시다.
나는이 이름들이 끔찍하게 창의적이지 않고 변화를 시도하기 위해 무언가를하는 대신에 알고 있습니다.
나는 새로운 VAR 구를 작별 인사와 같게 만들 예정입니다.
그리고 나서 다음 줄에 그것을 인쇄 할 것입니다.
그러면 여기서 어떻게 될 것으로 예상됩니까?
우리가 뭔가를하면 그걸 작별 인사 해.
그래서 우리에게 알려주는 것은 A가 무언가를하는 대신에 작별과 같습니다.
그러나 그것과 동등한 어구는 아직도 거기에서 높습니다.
따라서 여기에 var phrase를 추가하여 작별 인사와 동일하게 만듭니다.
이는 우리가 여기서 정의한 변수를 사용하지 않고 새로운 변수로 만듭니다.
그것은 새로운 문구 변수를이 스코프에만 존재하게 만듭니다. 그 안에는 무언가가 작별 인사가됩니다.