다음을 통해 무엇인가를 찾고 있습니다.기존 객체에 "네임 스페이스"가있는 프로토 타입 사용
HTMLSpanElement.prototype.testNS = {
_this: this,
testFunc: function() {
console.log(this.innerHTML) //undefined as expected as this is the testFunc object
},
testFunc2: function() {
console.log(this._this) //Window object
}
}
내 목표는이 경우 스팬 요소에 직접 일부 도우미 기능을 추가하는 것입니다. 내가 가진 경우
그래서, 다음
<span>test</span>
나는 기능을 유지하는 것이 내가 아는
spanElement.testNS.testFunc()
를 스팬을 찾아 "테스트"를 반환하려면이 코드를 호출 할 수있는 그것의 범위는 부모입니다 내가 그렇게 할 때 ...
HTMLSpanElement.prototype.testFunc = function() {
console.log(this.innerHTML)
}
하지만 코드를 좀 더 체계화하고 더 명확하게하려고합니다. 함수를 추가 할 때 함수가오고 범위를 유지할 수있는 방법을 찾지 못하는 것 같습니다. 일반적인 JSON 객체를 사용하면이 범위를 _this: this
으로 가져 와서 "window"의 전체 범위를 반환합니다.
* * "이 testFunc 객체가있는 그대로"'this' :
testNS
가 호출되고있는 객체 (다시, 스팬)의 컨텍스트에서 호출되기 때문 작동 함수 객체 자체를 결코 참조하지 않습니다. 이 함수를'spanElement.testNS.testFunc()'로 호출하면'panElement.testNS'를 참조합니다. –