JavaScript - 문제 미리보기
문제 775
medium
동적 테이블 생성에서 드롭다운 변경 시 실행되는 함수입니다. 빈칸에 들어갈 올바른 코드는?
```javascript
function change_myselect(sel) {
const dbParam = JSON.stringify({table: _______, limit: 20});
const xmlhttp = new XMLHttpRequest();
xmlhttp.onload = function() {
const myObj = JSON.parse(this.responseText);
// 테이블 생성 코드...
};
xmlhttp.open("POST", "server.php");
xmlhttp.send("x=" + dbParam);
}
```
정답: B
함수 매개변수와 동적 데이터 처리의 핵심 개념입니다.
함수 호출 과정:
'''html
```
단계별 동작:
1. 사용자가 드롭다운에서 "products" 선택
2. `onchange="change_myselect(this.value)"` 실행
3. `this.value`는 "products"
4. `change_myselect("products")` 함수 호출
5. 매개변수 `sel`에 "products" 저장
각 옵션 분석:
1. `"customers"` - 항상 고정값, 동적 선택 반영 안 됨
2. `sel` ✅ - 매개변수로 전달받은 선택된 값 사용
3. `this.value` - 함수 내부에서 `this`는 다른 객체를 가리킴
4. `document.getElementById("myselect").value` - 작동하지만 불필요하게 복잡
결과적으로 생성되는 JSON:
```javascript
// "products" 선택 시
{"table": "products", "limit": 20}
// "suppliers" 선택 시
{"table": "suppliers", "limit": 20}
```
💡 학습 팁
이 문제를 포함한 JavaScript 과목의 모든 문제를 순차적으로 풀어보세요. 진행상황이 자동으로 저장되어 언제든지 이어서 학습할 수 있습니다.