나는 문제를 보았을 것입니다. 아마도 이것이 모양 일 것입니다.
코드 사본은 다음과 같습니다.
이름 = '당신의 out'
foo = function () {
this.name = 'xxoo';
}
foo.prototype.say = function () {
Console.log (this.name);
}
f = 새로운 foo ();
f.say (); //이 문장은 xxoo를 출력합니다
settimeout (F.Say, 500); //이 문장은 당신에게서 출력됩니다
이것은 함정입니다. 이 JavaScript는 호출 될 때 생성되며 컨텍스트와 관련이 있습니다. 이것이 그것을 해결하는 방법입니다. 나는 그것을 테스트하고 전화를 사용했습니다.
코드 사본은 다음과 같습니다.
settimeout.call (foo (), f.say, 500)
일부 솔루션 온라인
JS의 Settimeout과 관련된이 포인팅 문제
JavaScript에서 타이머 사용
결국, 그것은 실제로 이것을 이해하는 문제입니다.
언젠가 나는 그것을 이해하고 계속 글을 씁니다