JSP || DAY4 || 재귀함수, 내장객체
0. 재귀함수 호출
- 최초의 함수를 호출하면 함수 정의문 내에서 실행문으로 함수를 다시 호출하는것.
-> 함수를 반복문처럼 여러번 호출하기위해 사용한다.
<script type="text/javascript">
var num = 0;
function testFunc(){
//num변수에 저장된 값을 1증가
num++;
//num변수에 저장된 값 출력
document.write(num, "<br>");
// 조건식 - 만약 num에 저장된 값이 10인경우, 함수를 강제종료
if (num == 10) {
return; // 함수가 강제로 종료되어 더이상 재귀함수 호출을 하지 않는다.
}
// 재귀함수 호출 => 함수 자기 자신을 호출함.
testFunc();
}
testFunc(); // 최초 한번 testFunc이름의 함수를 호출.
</script>
1. 전역변수, 지역변수
- 전역변수: 함수 밖에있는 변수.
- 지역변수: 함수 내에서만 존재할 수 있는 변수, 함수의 { } 밖에서 사용할 수 없다.
2. 객체
객체.메서드( ) ;
객체.속성 ; 또는 객체.속성 = 값 ;
# 내장객체
- 문자(String)
- 날짜(Date)
- 배열(Array)
- 수학(Math)
# 브라우저 객체 모델(BOM)
- window (브라우저)
- location (주소창)
- document (문서영역)
- history
- navigation
# 문서객체모델(DOM)
-> html태그들을 일컫는다. (head, body, title 등. . .)
3. 내장객체 생성하기
참조변수(인스턴스 네임) = new 생성함수( );
EX) var TV = new Object( );
// new키워드와 객체 생성함수를 이용해 새로운 객체메모리를 생성한 후 , 변수 tv에 저장(참조)시키기
var tv = new Object();
// 생성된 tv객체 메모리 내부에 width변수(속성), height변수(속성), weight변수(속성), color변수(속성) 만들기
tv.width = "30cm";
tv.height = "25cm";
tv.weight = "20kg";
tv.color = "white";
// 생성된 tv객체 메모리 내부에 tv전원을 끄는 기능을 하는 함수(aka 메서드)를 만들기
tv.off = function(){ // 익명함수
document.write("전원 OFF <br>")
}
// 위 생성된 tv객체 메모리 내부에있는 변수(속성)에 저장된 값을 불러와서 출력하기.
document.write(tv.width,"<br>");
document.write(tv.height ,"<br>");
document.write(tv.weight ,"<br>");
document.write(tv.color ,"<br>");
// 위에서 생성된 tv객체 메모리 내부에 만들어져있는 함수(메서드) 호출하여 기능 실행하기
tv.off();
4. Date객체 - get____( )메서드
getMonth( ) ; *** 현재 월의 숫자를 1적게 출력한다
getDate( ) ;
getDay( ) ; *** 현재 요일 정보를 숫자형태로 출력한다. (0=일요일 . . . 6=월요일)
getHours( ) ;
getMinutes( ) ;
// 현재 날짜 정보를 제공받을 수 있는 date객체 생성하기
var t = new Date();
// 현재 월의 정보를 제공받기
var nowMonth = t.getMonth() + 1;
// 현재 일자 정보를 제공받기
var nowDate = t.getDate();
// 현재 요일정보를 제공 받기
var nowDay = t.getDay();
// 현재 시간정보를 제공 받기
var nowHours = t.getHours();
// 현재 분정보를 제공 받기
var nowMinutes = t.getMinutes();
5. 숫자객체
-> 자바스크립트를 이용하여 숫자를 표현할 때, 표현가능한 수의 속성(변수)과
숫자표기법에 대한 메서드(함수)를 제공한다.
# 숫자객체를 생성하는 2가지 방법
1. var 참조변수 = new Number(숫자값);
2. var 참조변수 = 숫자값;
# 자바스크립트에서 표현가능한 숫자의 속성(=변수에 저장된 값)을 알아내는 방법
: Number.속성;
# 숫자에 표기법 관련한 메서드를 사용하는 방법
: 객체.표기메서드();
# Number객체의 속성들(변수들)
1. MAX_VALUE : 표현가능한 가장 큰 수
2. MIN_VALUE : 표현가능한 가장 작은 수
3. POSITIVE_INFINITY : 양의 무한대수 표기
4. NEGATIVE_INFINITY : 음의 무한대수 표기
5. NaN : 숫자가 아닌경우를 표기
# Number객체의 메서드들(함수들)
1. toExponential(n) : 지수표기법으로 소수점 n자리만큼 문자열 데이터로 반환한다.
2. toFixed(n) : 반올림하여 소수점 n자리까지 문자열 데이터로 반환한다.
3. toString( ) : 숫자형 데이터를 문자열 데이터로 변환해서 문자열 데이터로 반환한다.
4. valueOf( ) : 객체의 원래 값을 반환한다.
5. parseInt(값) : 데이터를 정수로 변환해서 반환한다. 6. parseFloat(값) : 데이터를 실수로 변환해서 반환한다.
var num1 = 3.456789;
var num2 = 700000;
var num3 = "30.5px";
var num4 = 40;
document.write( num1.toFixed(2) , "<br>"); // 3.46출력
document.write( num1.toString() , "<br>"); // 3.456789출력, 문자열 데이터형이다.
document.write(parseInt(num3), "<br>"); // 30출력, 괄호안에 있는 변수에 저장된 값에서 정수만 추출해서 반환한다.
document.write(parseInt(num3) + num4, "<br>"); // 70출력
document.write(parseFloat(num3), "<br>"); // 30.5출력, 괄호안에 있는 변수에 저장된 값에서 실수만 추출해서 반환한다.
document.write(parseFloat(num3) + num4, "<br>"); // 70.5출력, 괄호안에 있는 변수에 저장된 값에서 실수만 추출해서 반환한다.
document.write(num4.valueOf()); //.valueOf() 는 생략해도 출력값은 똑같다.
6. String 메서드
.charAt(n) : 해당 문자열의 n번째 문자를 출력한다.
.indexOf("____") : 해당 문자열에서 괄호안에 있는 문자열의 인덱스를 출력한다. / 없다면 -1을 출력함.
.indexOf("____",n) : 해당 문자열의 n번째 인덱스부터 시작해 괄호안의 문자열의 인덱스를 출력한다.
.match("____") : 해당 문자열이 괄호안의 문자열을 포함하고있는지 판단함. 포함시 이를 반환 / 불포함시 null
.search("____") : 해당 문자열에서 최초로 발견된 괄호안의 문자의 인덱스를 출력한다.
.replace("바꿀 문자열","새 문자열") : "바꿀 문자열"과 일치하는 최초의 문자열을 찾아 "새문자열"로 치환한다.
.concat("추가할 문자열") : "추가할 문자열"을 추가함
.substrinb( a , b ) : 인덱스a번부터 시작해 b인텍스 이전까지의 문자열을 잘라내어 반환한다.
.substr( 인덱스 a , 문자갯수 b ) : 문자열의 a인덱스부터 시작해 b개의 문자를 잘라내어 반환한다.
.trim( ) : 문자열 앞 & 뒤의 공백을 삭제한 후 반환한다.
.split("나눌 기준이 되는 문자") : "나눌 기준이 되는 문자"를 기준으로 문자열을 나눠 배열메모리에 저장, 반환.
var t = "Hello Thank you good luck to you";
//인덱스 0123456789... 16 <- 인덱스 위치라고 일컫는다.
// charAt(n)
document.write( t.charAt(16) ); // 변수t에 저장된 문자열의 16번째 문자인 g가 출력된다.
// indexOf("____")
document.write( t.indexOf("you") ); // you는 왼쪽에서 12번째부터 시작된다.
// indexOf("____",n)
document.write( t.indexOf("you",16) ); // 두번째 you는 29번째부터 시작된다.
// match("____")
document.write( t.match("luck") ); // luck 반환함.
// search("____")
document.write( t.search("you") ); // 12
// replace("__","__")
var str = "web he she";
str.replace("web", "html"); // "html he she" 를 반환.
// concat("____")
var str = "hello javascript";
document.write( str.concat("haha!") ); // "hello javascript haha!"
// substring(a,b)
var str = "hello javascript";
document.write( str.substring(0,4) ); // hell 출력
// substr(인덱스a,문자갯수b)
var str = "hello javascript";
document.write(str.substr(3,7) ); // "lo java" 출력
// trim()
var str = " hello "
document.write( str.trim() ); //"hello" 반환
// split("나눌 기준이되는 문자")
var str = "webkmobilek2002"
var s =str.split("k"); // ["web", "mobile", "2002"] 배열메모리 생성됨
document.write(s);
document.write(s[2]); // 2002출력
'개발자 양성과정 필기노트 > JavaScript' 카테고리의 다른 글
브라우저객체모델 BOM (0) | 2021.08.04 |
---|---|
Math메서드, 배열메서드 (0) | 2021.08.03 |
조건문 (0) | 2021.07.29 |
반복문, 함수 (0) | 2021.07.28 |
증감연산자 (0) | 2021.07.27 |
댓글