변수의 유효범위 체인을 임시적으로 바꾸는 함수 with 입니다~
ex1)
<html><body>
<script language="javascript">
function f(){
with(frmThis){
var name = txtName.value;
alert(name);
}
}
</script>
<form id="frmThis">
<input id="txtName" value="영석">
<script language="javascript">f();</script>
</form>
</body></html>
id txtName 인 텍스트의 값을 얻기 위해서는
frmThis.txtName.value 이런식으로 얻어야합니다. 한두번은 쓸 수야 있지만
여러번 사용되어질 경우 반복적인 문장이 들어갑니다.
with 를 사용하면 코딩의 양을 확 줄일 수가 있습니다~
with 에 인자에 계속 사용되는 객체를 추가하면
객체의 이름과 . 까지를 생략할 수 있습니다.
하지만 with 가 사용된 자바스크립트 코드는 최적화 되기 어렵다네요.
그래서 같은 코드이지만 with 가 사용된 코드가 더 느릴 수가 있답니다.
그렇기에 다른 방법을 소개합니다~
ex2)
var form = frame[1].document.forms[0];
form.name.value = "";
form.address.value = "";
form.email.value = "";
이런식으로 코드를 짠다면 최적화에 무리를 주지도 않고 불필요한 코딩은 감소하겠죠??
물론 앞에 오는 객체가 frmThis. 이런 식으로 짧다면 소용없게지만
길 경우에는 유용하겠죠~? ^^
'개발 > Java Script' 카테고리의 다른 글
자바스크립트 배열 (0) | 2008.11.20 |
---|---|
자바스크립트 객체란? (0) | 2008.11.20 |
자바스크립트 null과 undefined (0) | 2008.11.20 |
자바스크립트 for/in 문 활용법 (1) | 2008.11.20 |
자바스크립트 변수선언 유효범위 (0) | 2008.11.19 |