자바 스크립트로 데이터 출력하기

 

기능  설명 
 document.write(내용)   -화면에 값을 출력한다. 콤마(,)를 이용해서 여러개의 값을 추가할 수있다  
 -document.writeln()는 줄바꿈기능
 window.alert(내용)  - 경고창을 표시한다. window는 생략이 가능 
 innerHTML = 내용   - DOM을 조작할 때 엘리먼트 요소의 내용을 가져오거나 새로운 내용으로 대체할 때 사용되는 속성이다.
 - 비슷한 속성으로 텍스트만 읽어오는 innerText가 있다. 
 console.log(내용)  - 내용을 Developer Tools의 콘솔에  표시한다.

 

 

 
 
8
9
10
11
12
13
 
    <script type="text/javascript">
document.write("Hello1");
alert("Hello2");
document.body.innerHTML  +="Hello3";
console.log("Hello4");
    </script>
 

 

 

 

 

 

데이터 입력받기

 1. Confirm() 함수

   어떤 질문에 대해 답을 "예" 혹은 "아니오"의 결과로 얻어야 할 경우 사용한다(확인, 취소)

 

window.confirm(질문내용)  팝업창의 "확인"을 누르면 true
 팝업창의 "취소"를 누르면 false 

 

 
5
6
7
8
 
 
<script type="text/javascript">
        var age = confirm("당신은 성인입니까?");
        document.write("결과:"+Gender+"<br />");
 

 

 

 

 

취소 클릭시 출력화면

 

(1) confirm()의 결과값을 제어문으로 제어하기

 

 
1
2
3
4
5
6
7
8
9
10
11
12
13
 
<script type="text/javascript">
       var age = confirm("당신은 성인입니까?");
         document.write("결과:"+age+"<br />");
      if(age===true){
        age="성인";
               }
                else{
        age="미성년자";
      }
       document.body.innerHTML += age + "요금이 부과됩니다.";
</script>
 

- age가 true 이면 age변수에 "성인"이 입력된다. false일때에는 "미성년자"가 입력된다.

 

 



 

(2) confirm()의 결과값을 제어문조건으로 바로 사용하기

 

1
2
3
4
5
6
7
8
9
10
11
12
 
<script type="text/javascript">
    document.write("결과 :");
    if(confirm("당신은 성인입니까?")===true){
        age="성인";
    }
    else{
        age="미성년자";
    }
    document.body.innerHTML += age + "요금이 부과됩니다.";
</script>
 

 

 오잉??


 이 코드에서 body 앞에서 스크립트를 작성하게 되면, innerHTML(이 코드에서는 document.body의 속성에 HTML을 밀어넣는 역할)을 사용할때 에러가 나게 되는데, 그 이유는 body가 생성되지 않았기 때문이다. 

 document.write()를 사용하여 강제로 body를 생성해 주면 오류없이 실행이 가능하다.

 

 

위에서부터 아래로 읽혀지는 인터프리터 언어의 성격상 자바스크립트 소스보다 아래에 위치한 

<body>태그를 이보다 윗부분에 선언된 자바스크립트에서는 제어할 수 없다. 

 

==> 자바스크립트 소스를 <body>태그보다 아래에 위치하도록 하거나, onload이벤트 핸들러를 이용해야 한다.

 

onload   모든 페이지에서 load시 공통으로 실행될 스크립트
사용법  window.onload = function(){ 시작시 실행될 내용 }
 window.onload와 <body onload="">는 동시에 사용할 수 없다.


=> function window::onload(){시작시 실행될 내용}를 사용하면 된다.
(<bodt onload="">실행 후 window::onload()가 실행된다.)

 

onload이벤트 핸들러를 이용한<body>태그 제어하기

 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
<script type="text/javascript">
    window.onload function() {
             if(confirm("당신은 성인입니까?")===true){
              age="성인";
           }
             else{
              age="미성년자";
            }
    
     document.body.innerHTML += age + "요금이 부과됩니다.";
}
</script>
 

 

(응용) 삼항연산자

 
1
2
3
4
5
6
7
<script type="text/javascript">
    window.onload=function(){
 
    document.body.innerHTML 
    += (confirm("당신은 성인입니까?")?"성인" : "미성년자") + "요금이 부과됩니다.";
}
</script>

 

+ Recent posts