2014/02/13

#1. 자바스크립트 소개

 이 게시물은 자바스크립트 완벽가이드 6판의 예제를 중심으로 따라갑니다. 또한 자바스크립트 완벽가이드 6판을 참조하여 개인 공부용으로 작성한 압축판임을 알립니다. 예제 중심으로 보실 분은 Non Required를 건너뛰셔도 무방합니다.
#1. 자바스크립트 소개
#2. 자바스크립트 문법(Non Required)
#3. 자바스크립트 데이타 타입(Non Required)
#4. 자바스크립트 변수 (Non Required)

 자바스크립트는 자바스크립트 언어의 핵심 부분인 코어 자바스크립트와 웹 브라우저에서 사용하기 위해 확장된 클라이언트 측 자바스크립트로 나뉜다(적어도 자바스크립트 완벽가이드 6판에서는 이렇게 소개한다.) 자바스크립트는 얼핏 보기에는 C, C++, Java등과 닮은 모양이지만, 변수의 타입을 하나하나 지정해주지 않아도 되는 인터프리터 방식의 프로그램언어입니다.

예제 1-1

 자바스크립트가 가장 많이 쓰이는 분야는 웹 브라우저입니다. 코어 자바스크립트가 웹 브라우저에 내장되어 HTML의 스크립트를 실행합니다. 

  1. <html>  
  2.     <head>  
  3.         <title>Factorials</title>  
  4.     </head>  
  5.     <body>  
  6.         <h2>Table of Factorials</h2>  
  7.         <script>  
  8.             var fact = 1;  
  9.             for (i=1; i<10; i++) {  
  10.                 factfact = fact * i;  
  11.                 document.write(i + "! = " + fact + "<br>");  
  12.             }  
  13.         </script>  
  14.     </body>  
  15. </html>  



예제 1-2

 예제 1-2는 자바스크립트가 HTML과 함께 쓰여서 동작 방식의 제어가 가능하다는 것을 보여주는 예제입니다. event handler(onclick)을 사용하여 alert를 진행합니다. 


  1. <html>  
  2.     <head>  
  3.         <title>Button</title>  
  4.     </head>  
  5.     <body>  
  6.         <button onclick ="alert('You clicked the button');">Click here</button>  
  7.     </body>  
  8. </html>  

예제 1-3

 예제 1-3은 책의 정오표를 찾아보고 틀린부분을 수정하려고 해보아도 책의 코드 바탕으로는 작동되지 않았습니다. 인사이트 홈페이지에서 관련 코드를 받아 첨부합니다.(첨부파일 참조) 


  1. <!DOCTYPE html>  
  2. <html>  
  3.     <head>  
  4.         <title>JAVASCRIPT Loan Calculator</title>  
  5.         <style>  
  6.             /* 사용자에게 보여지는 영역을 꾸미는 CSS영역이다. 복잡한 프로그램에서는 CSS와 Javascript코드를 다른 파일에 분리하는 것이 좋다. */  
  7.             .result { font-weight: bold; }  /*class = result*/  
  8.             #payment { text-decoration: underline; }    /*id = payment*/  
  9.         </style>  
  10.     </head>  
  11.     <body>  
  12.         <!--  
  13.         사용자에게 보여지는 결과값을 HTML로 작성하였다.  
  14.         -->  
  15.         <form name = "loandata">  
  16.             <table>  
  17.                 <tr><td><b>Enter loan Information:</b></td></tr>  
  18.                 <tr>  
  19.                     <td>1) Amount of the loan (any currency) :</td>  
  20.                     <td><input type = "text" name = "principal" onchange  = "calculate();"></td>  
  21.                 </tr>  
  22.                 <tr>  
  23.                     <td>2) Annual percentage rate of interest :</td>  
  24.                     <td><input type = "text" name = "interest" onchange = "calculate();"></td>  
  25.                 </tr>  
  26.                 <tr>  
  27.                     <td>3) Repayment period in years: </td>  
  28.                     <td><input type = "text" name = "years" onchange = "calculate();"></td>  
  29.                 </tr>  
  30.                 <tr><td></td>  
  31.                     <td><input type = "button" value = "Compute" onclick = "calculate();"></td>  
  32.                 </tr>  
  33.                 <tr><td><b>Payment Information:</b></td></tr>  
  34.                 <tr>  
  35.                     <td>4) Your monthly payment: </td>  
  36.                     <td>$<span class = "result" id = "payment"></span></td>  
  37.                 </tr>  
  38.                 <tr>  
  39.                     <td>5) Your total payment: </td>  
  40.                     <td>$<span class = "result" id = "total"></span></td>  
  41.                 </tr>  
  42.                 <tr>  
  43.                     <td>6) Your total interest payments: </td>  
  44.                     <td>$<span class = "result" id = "totalinterest"></span></td>  
  45.                 </tr>  
  46.             </table>  
  47.         </form>  
  48.           
  49.         <script language = "javascript">  
  50.             function calculate() {  
  51.                 var principal = document.loandata.principal.value;  
  52.                 var interest = document.loandata.interest.value / 100 / 12;  
  53.                 var payments = document.loandata.years.value * 12;  
  54.               
  55.                 var x = Math.pow(1 + interest, payments);  
  56.                 var monthly = (principal * x * interest) / (x-1);  
  57.                   
  58.                 var payment = document.getElementById("payment");  
  59.                 var total = document.getElementById("total");  
  60.                 var totalinterest = document.getElementById("totalinterest");  
  61.                   
  62.                 if(isFinite(monthly) {  
  63.                     payment.innerHTML = monthly.toFixed(2);  
  64.                     total.innerHTML = (monthly * payments).toFixed(2);  
  65.                     totalinterest.innerHTML = ((monthly * payments) - principal).toFixed(2);  
  66.                 } else {  
  67.                     payment.innerHTML = "";  
  68.                     total.innerHTML = "";  
  69.                     totalinterest.innerHTML = "";  
  70.                 }  
  71.             }  
  72.         </script>  
  73.     </body>  
  74. </html>  


댓글 없음:

댓글 쓰기