2015-01-19 2 views
-2

두 문장의 차이점은 무엇입니까jQuery에서 (this)와 (_this) 사이에 어떤 차이가 있습니까?

$(this)$(_this)은 jquery입니다.

+1

하나는'사용하여 자바 스크립트의 키워드입니다 선택기, 같은 this'. (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/this) 다른 하나는 정상적인 변수 인'_this'를 사용합니다. – David

+1

jQuery와는 아무런 관련이 없습니다. 아마 당신의 스크립트에 현재 범위를 저장하기 위해 어딘가에'var _this = this'가 있습니다. (그것은 어떤 상황에서 바뀔 수 있습니다) http://stackoverflow.com/questions/26722715/javascript-static-singelton-this-vs -이 -vs-object-name –

+0

우리는 변수의 현재 범위를 저장해야하는 예제를 알려주시겠습니까? – Noel

답변

1

$(this)은 컨텍스트의 현재 요소 선택기이지만 $(_this)은 일반적인 가변 선택기입니다. 예를 들어

:

$('p').on('click',function(){ 
    var _this = $('div').eq(0); 
    console.log($(_this));//first div 
    console.log($(this));//clicked element 'p' 
}); 

그러나 일반적으로이 유형의 변수는 다음과 같이 사용됩니다 그들 중

$('p').on('click',function(){ 
    var _this = $(this)//clicked element 'p' 
    setTimeout(function(){ 
    //$(this) won't refer to clicked element 'p' because it's out of context 
    //$(_this) will refer to clicked element 
    }); 
}); 
+0

왜 setTimeout()을 사용했는지 설명 할 수 있습니까? 그래서 당신의 말은 _ 이것은 모든 변수 이름과 같습니다. 그것은 "포켓몬"이라고 이름 지어 질 수 있습니다. 그래서이게 "이"가 어떻게 특별한 것처럼 보이지 않습니까? –

관련 문제