jquery 키워드 self는 self.setInterval에서 무엇을 참조합니까? JQuery와 일부 프로그래머 가변 self
또는 that
가 this
인 작동 범위를 지칭하도록 사용 자바 스크립트jquery 키워드 self는 self.setInterval에서 무엇을 참조합니까? jquery
var int=self.setInterval(function(){clock()},1000);
jquery 키워드 self는 self.setInterval에서 무엇을 참조합니까? JQuery와 일부 프로그래머 가변 self
또는 that
가 this
인 작동 범위를 지칭하도록 사용 자바 스크립트jquery 키워드 self는 self.setInterval에서 무엇을 참조합니까? jquery
var int=self.setInterval(function(){clock()},1000);
. this
개체는 현재 개체 또는 기능을 참조합니다.
다른 함수에서 함수가 실행되면 this
이라는 참조가 손실됩니다. 간단한 해결 방법은 기능 외부의 변수로 this
을 설정하는 것입니다.
은 (IE8 호환, 확실하지 IE7에 대한 낮은) 또는 최신 브라우저 (function(){}.bind(this))
UPDATE에 대한 JQuery와 $.proxy(function, this)
을 사용하여 이러한 참조를 피할 수있는 방법이 있습니다
패트릭이 지적한 바와 같이, self
기본적으로 활성 window
을 참조합니다. 유용한 내부 프레임 예를 들어.
자체는 달리 정의되지 않는 한'window'를 참조합니다. –
맞습니다, Patrick. 이것에 대해 잊어 버리 셨습니다. ^^ –
self
자바 스크립트에서 예약어가 아닙니다. 그러나, 현재의 방법으로 실행 개체에 self
를 할당하는 일반적인 규칙이있다 예를 들면 :.
var myobj = {
mymethod: function() {
var self = this;
},
};
그 이유는 당신이 다른 멋진 일을 할 수 있도록 변수에
this
를 백업하는 것입니다
부모 객체에 영향을주는 비동기 콜백과 같은
아마도 우리가 더 많은 컨텍스트를 제공 할 수 있다면 우리는 문제에서 self
변수가 무엇을 설정하는지 설명 할 수 있습니다.
기본적으로'self'는'window'와 같습니다. –
self
이 동일한 범위에 정의되어 있지 않으면 Window 개체에 대한 참조입니다. Window 객체에는 실제로 2 개의 자체 참조 변수가 있습니다. self
및 window
이상한 기분 일 경우 self.window.self.window.self.window.self.window.self
과 같이 할 수 있습니다. 같은 코드로
는
var int=self.setInterval(function(){clock()},1000);
또한
var int = setInterval(function(){clock()},1000);
또는
var int = window.setInterval(function(){clock()},1000);
방금 할 수
setInterval(clock,1000);
에 해당
시계를 실행하는 것 외에 다른 작업을 수행해야하는 경우가 아니면 익명 기능으로 포장 할 필요가 없습니다.
'top'은 브라우저에서'window'에 대한 또 다른 참조입니다. – bfavaretto
무엇이 문제인지 이해하기 어렵습니다. –
우리는 당신의 마음을 읽을 수 없습니다. 간단히 설명해주십시오. –
이 중 아무 것도 jquery와 관련이 없습니다. 'self'는 같은 범위의 어딘가에 정의되지 않은 한'window '를 참조합니다. –