저는 JavaScript를 배우는 C++ 사람이므로 'this'가 호출하는 개체에 바인딩된다는 사실은 계속 놀랍니다. 나는 이벤트 리스너로서 객체 메쏘드를 사용하고 싶다. 당신이 자바 스크립트 전문가의 모든 스타일로 그것을하고 있는지 확인하고 싶다. 개체 메서드를 이벤트 수신기로 사용
var user =
{
status: 1, // login status: 0:invalid password, 1:logged out, 2:logged in
loginName: "",
// Method called whenever the user submits a username/password via html form:
onLoginSubmit: function (event)
{
if (this != user) // called from 'form submit' callback, so call ourselves:
{
user.onLoginSubmit(event);
return;
}
}
};
내가 여기 이전 답을 발견
그래서, 적절한 상황에서 해당 속성에 액세스 할 수 있도록이 객체를 '이'의 가지고 방법을 얻을, 나는이 다음 작성했습니다 : Accessing an object's property from an event listener call in Javascript이지만 제안 된 솔루션은 기본적으로 글로벌을 만드는 것입니다. 이전 솔루션 또는 재귀 솔루션보다 '더'더 효과적으로 사용할 수 있습니까? 당신이 일을 함께 할 수있는 가장 좋은 방법은 결합하는 것입니다 않습니다 무엇을
form.submit(user.onLoginSubmit);
하면 제출하는 동안 :
js에 대한 중요한 점은 이와 같은 클로저입니다. 그리고 익명의 기능. 오, 내가 클로저에 대해 언급 했나요? 그것들은 정말로 중요합니다. – Alxandr
이것은 내가 찾고 있었던 것이다! 그리고 내가 정말로하고있는 바보 같은 것이 아무것도 없다는 것을 또한 알기 위해서 ... 익명의 함수 기술은 클래스 메서드의 이상한 부분을 속한 곳으로 이동시킵니다. 감사. – Steger