함수 역할 영역, 블록 급 역할 영역 과 품사 역할 영역
점점 신기해 지 는데...
내용:
JavaScript
역할 영역: 변수, 대상 및 함수 의 집합 에 접근 할 수 있 습 니 다.1. 함수 역할 영역
함수 내 에서 설명 하 는 모든 변 수 는 함수 내 에서 항상 볼 수 있 고 전체 함수 의 범위 내 에서 사용 하고 재 활용 할 수 있 습 니 다.
2. 블록 급 역할 영역
변수 가 설명 하 는 코드 세그먼트 외 에는 보이 지 않 는 다 는 뜻 입 니 다.참고:
JavaScript
의 ES6
및 let
.3. 어법 작용 영역
함수 가 그들의 역할 영역 에서 실행 되 는 것 을 정의 하 는 것 을 말 합 니 다. 그들의 역할 영역 에서 실행 되 는 것 이 아니 라
const
사용 하 는 것 은 품사 역할 영역 이 고 정적 역할 영역 이 라 고도 합 니 다.var name = 'Mr.Han';
function test(){
alert(name);//undefined
var name = 'Mrs.Han';
alert(name);//'Mrs.Han'
}
test();
var value = 1;
function foo() {
console.log(value);
}
function bar() {
var value = 2;
foo();
}
bar();//1
4. 기타:
4.1. 할당 해제
4.1.1 대상 의 할당 해제
대상 의 지정 속성 을 빠르게 가 져 옵 니 다:
var person = {
name: ' ',
age: 18,
sex: ' '
};
var {name, age, sex} = person;
// name, age, passport :
console.log('name : ' + name + ', age : ' + age + ', sex : ' + sex);//name : , age : 18, sex :
상기 대상 에 존재 하지 않 는 속성 을 가 져 오 면 되 돌아 갑 니 다
JavaScript
. 그러나 우 리 는 기본 값 을 줄 수 있 습 니 다. 예 를 들 어:var person = {
name: ' ',
age: 18,
sex: ' '
};
var {name, age, sex, height="1.7"} = person;
console.log('name : ' + name + ', age : ' + age + ', sex : ' + sex+ ', height : ' + height);//name : , age : 18, sex : , height : 1.7
이렇게 하면
undefined
대상 에 존재 하지 않 는 속성 person
에 기본 값 height
을 추가 합 니 다.4.1.2 배열 재 구성 할당 값
var [x, y, z] = [100, 200, 300];
// x, y, z :
console.log('x : ' + x + ', y : ' + y + ', z : ' + z);//x : 100, y : 200, z : 300
여러 변 수 는 [...] 로 묶 어야 한다.
4.2 폐쇄
간단 한 이해: 다른 함수 내부 변 수 를 읽 을 수 있 는 함수 (또는 함수 내부 에 정 의 된 함수) 입 니 다.
4.2.1 이 예 를 보면
var name = "The Window";
var object = {
name : "My Object",
getNameFunc : function(){
return function(){
return this.name;
};
}
};
console.log(object.getNameFunc()());//"The Window"
var name = "The Window";
var object = {
name : "My Object",
getNameFunc : function(){
var that = this;
return function(){
return that.name;
};
}
};
console.log(object.getNameFunc()());//"My Object"
4.2.2 순차 출력 숫자
1.7
:for(var i = 0;i < 10;i++){
setTimeout(()=>{
console.log(i),1000;
})
}
출력 결과:
0-9
.수정:
for(var i = 0;i < 10;i++){
(function(arg){
setTimeout(()=>{
console.log(arg),1000;
})
})(i);
}
패 킷 을 추가 하여 i 를 함수 매개 변수 로 내부 함수 에 전달 합 니 다.
for(var i = 0;i < 10;i++){
(function(){
var temp = i;
setTimeout(()=>{
console.log(temp),1000;
})
})();
}
또는 새로 추 가 된 패 킷 에서 i 를 부분 변수 로 내부 함수 에 전달 합 니 다.
결어:
긴 여정 길, 갈수 록 멋 져!
다음으로 전송:https://juejin.im/post/5cda863bf265da036902b965
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.