16장. 변수, 연산자, 사용자 정의 함수 변수 배열과 객체 연산자 함수
기본 실행문 Dynamic type binding 프로그래밍 언어론 5.4: p.221- 변수를 선언하고 사용 변수를 선언하지 않아도 필요한 곳에서 사용하면 자동으로 생성됨 값을 대입하는 순간 자료형도 함께 결정됨 변수 선언문 : var count = 10 msg=“당신은”+count+”번째 방문자입니다.” //자동으로 문자형 변환 대입문 : i = 10 // 정수형 i = “masan” // 문자형 조건문 if(i < 10) document.write(“조건만족”) 순환문 (loop) for(var i = 0; i < 10; i++){document.write(i)}
변수 변수의 데이타 형(type): 자동 설정 ↔ c.f., C Numbers(숫자형), String(문자열형) Boolean(논리형), Null(널) 변수의 명명시 주의사항 예약어, 함수명, 객체명, 속성명, 사용 중인 변수 등은 사용할 수 없다. 변수는 영자나 밑줄(_)로만 시작한다. 대소문자를 구별하되, 의미있는 이름을 붙인다. txtId와 txtid는 다른 변수임
변수 지역변수: 함수내{…}에서 사용하는 변수 전역변수: JavaScript 전체에서 사용 i=100 // 전역변수 function test1(){ var i=10 // 지역변수 document.write(i); // 지역변수 i 값 10 출력 } function test2(){ document.write(“<br>” + i); // 전역변수 i 값 100 출력 Chap16/1601/1601end.htm //변수를 사용하여 코드를 간략하게 정리
배열 변수 선언법 배열(array)은 같은 형, 같은 길이의 데이터를 2개 이상 붙여서 동일한 변수로 처리하는 것 기본 형식 var 배열 변수명 = new Array( ) // 배열 객체 생성 배열 변수명[0]=값 배열 변수명[1]=값 배열 변수명[2]=값 Ex) var score=new Array() score[0]=70 score [1]=80 var 배열 변수명 = new Array(배열개수) // 길이지정 선언 var jumsu = new Array(값1, 값2, 값3) // 초기값 선언 Chap16/1602/1602end.htm
배열 변수 선언법 JavaScript의 객체 중에서 link, anchor, image, form 객체 등은 배열형태의 객체 - why? document 내에서 다수가 존재함 - 배열 변수와 같이 인덱스 번호를 가짐 e.g., document.images[0].src // 객체.속성명 Chap16/1603/1603end.htm // document.images[0]는 첫번째 <img>를 가리킴. 예약어 this - 자기 자신 객체를 가리킴 e.g., <form> 태그 안에서 this는 document.forms[0], <img> 태그 안에서 this는 document.images[0]를 가리킴 Chap16/1603/1603end2.htm
연산문 산술연산문 : +, -, *, /, %(나머지) 증감연산 : ++, -- 대입연산문 : =, +=, -=, *=, /=, %= 조건 연산자: 변수명=(조건식)? 명령1 : 명령2 // 참이면 명령1 수행 // 거짓이면 명령2 수행 논리연산문 : &&, ||, ! (not) 관계연산자 : >, <, >=, <= 비교연산 : ==, != 연결연산문 : “happy” + “day” c.f., 1+1 // 산술 연산자
연산기호의 우선순위 산술 > 논리 > 대입 () ! ++ -- * / % + - < <= > >= == != && || = += -= *= /= %= Chap16/1604/1604end.htm
사용자 정의 함수 function은 복잡한 계산을 하거나 자주 사용되는 루틴을 정형화할 때 쓰인다. 함수의 정의 <script> function makeWindow(){ window.open(“allim.htm","new","width=200 height=200")} </script> 함수의 호출 함수 선언은 <head>에서 호출은 <body>에서 수행 //event <body onload="makeWindow()"> Chap16/1605/1605-1end.htm
사용자 정의 함수의 종류 매개변수가 없는 함수 function test(){…} 매개변수가 있는 함수 function test(name){…} Chap16/1605/1605-2end.htm 리턴 값이 있는 경우 function test(question){ ans=confirm(question) return ans } Chap16/1606/1606end.htm