for(var scope = env; scope; scope = Object.getPrototypeOf(scope)){
if(Object.prototype.hasOwnProperty.call(scope, name)){
scope[name] = value;
return value;
}
throw new ReferenceError("Setting undefined object " + name);
}
env
객체는 프로그램의 전역 범위 객체입니다. name
은 이전에 선언되었는지 여부를 찾기 위해 사용하는 객체이며 value
은 범위에서 선언 된 것으로 확인 된 객체에 할당 된 name
객체의 값입니다. 그렇지 않으면 오류가 발생합니다. for 루프에서 무슨 일이 일어나는지에 대한 설명을 얻을 수 있습니까?선언 된 객체가 자바 스크립트 프로그램의 현재 범위에 있는지 확인합니다.
프로토 타입 체인을 걷습니다. 그 발췌 문장은 어디에서 가져 왔습니까? 출처를 언급하고 저자의 취향을 밝힙니다. – Bergi
@Bergi 나는 Marijn Haverbeke가 쓴 Eloquent Javascript 책을 읽고있다. –
구체적으로 어떤 장? 우리는 당신에게 좀 더 많은 맥락을 줄 수있을 것입니다. – Bergi