코드 스 니펫에 표시된대로 "self"변수 "alias"this "를 선언하고 이벤트 핸들러로 전달하는 기술은 일반적인 솔루션입니다. 그러나 전통적인 외관은 그 적합성에 대한 우려를 제기 할 수 있습니다.
"self"aliasing에 대한 대안 :
핵심 문제는 jQuery에 특정한 것이 아니라 javascript의 폐쇄 동작과 관련이 있습니다. 폐쇄는 임베디드 기능이 부모의 범위에서 변수에 액세스 할 수있게하지만이 의사 변수는 다르게 행동합니다. 코드에서 알 수 있듯이 :
// 임베디드 함수에서 "this"를 사용하려고합니다. 함수 xyz () { Console.log (this); // 잘못된 }
이 동작은 수정 된 접근법이 필요합니다 :// "this"를 변수 (즉, ABC)에 할당하고 대신 변수를 사용합니다. var abc = 이것; 함수 xyz () { Console.log (ABC); // 옳은 }
// Attempt to use "this" in embedded functions function xyz() { console.log(this); // Incorrect }ABC와 함께 "this"를 별칭으로, 의도 된 인스턴스의 범위에 대한 클로저의 액세스가 보존됩니다. 이 기술은 "인수"와 같은 다른 의사 변수에 적용 할 수 있습니다.
// Assign "this" to a variable (i.e., abc) and use the variable instead var abc = this; function xyz() { console.log(abc); // Correct }.
부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3