스코프 체인이 첫 번째 "테스트 = 새 테스트();" 작동하지만, 그렇지 않습니다. 왜?JS - 스코프 체인
var tool = new Tool();
tool.init();
function Tool(){
var test;
function init(){
//does not work, undefined
test = new Test();
//does work
this.test=new Test();
console.log(test);
}
}
function Test(){
}
편집 : 내 말 작동하지함으로써, 테스트 그것은 간단
그것은해야한다 : 당신이 도구의 인스턴스를 많이하고 있다면 그런데
, 당신의 코드가 더 많은 메모리를 효율적입니다 그래서 같은 대신 함수를 정의하는 도구의 프로토 타입을 사용하는 기억 . 질문은, 당신은 무엇을하려고합니까? 귀하의 코드는 아무런 의미가 없습니다. – iMoses
정확히 무슨 일이 일어나고 있는지에 대한 충분한 코드가 없습니다. 'init'은 어떻게 불려지나요? 'test'에 어떻게 접근하려고합니까? – josh3736
"직장"이란 무엇입니까? –