본문 바로가기
개발자 양성과정 필기노트/JavaScript

재귀함수, 내장객체

by jono 2021. 8. 2.

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

댓글