this를 사용한 개체 참조
JavaScript에는 this
라는 키워드가 있는데, 메소드 안에서 현재 개체를 참조하기 위해서 이 키워드를 사용할 수 있습니다. 예를 들어, 개체의 값 속성을 검증하는 validate
라는 함수가 있다고 해봅시다.
function validate(obj, lowval, hival) { if ((obj.value < lowval) || (obj.value > hival)) alert("Invalid Value!"); }
그러면 폼의 각 요소의 onchange
이벤트 핸들러에서 validate
를 호출할 때, 다음 예제와 같은 방법으로 this를 사용해서 폼 요소를 validate
에 전달할 수 있습니다.
<input type="text" name="age" size="3" onChange="validate(this, 18, 99)">
form
속성과 같이 사용하면, this
는 현재 개체의 부모 폼을 참조할 수 있습니다. 다음 예제에서, myForm
이라는 폼은 Text
개체와 버튼을 포함하고 있습니다. 사용자가 버튼을 클릭하면 Text
개체의 값을 폼 이름으로 바꿉니다. 버튼의 onclick
이벤트 핸들러에서 부모 폼인 myForm
을 참조하기 위해서 this.form
을 사용하고 있습니다.
<form name="myForm"> <p><label>Form name:<input type="text" name="text1" value="Beluga"></label> <p><input name="button1" type="button" value="Show Form Name" onclick="this.form.text1.value=this.form.name"> </p> </form>