일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 비트마스크
- 성화봉송주자
- yolo
- 위상정렬
- 캘리그라피
- 영어회화 100일의 기적
- 삼성 코딩테스트
- 성화봉송
- 외판원 순회
- 평창동계올림픽
- Segment Tree
- upper_bound
- 생활코딩
- 언어의 온도
- 창훈쓰다
- 다이나믹 프로그래밍
- BFS
- 백트레킹
- boj
- 다음 지도 api
- multiset
- lower_bound
- BOJ 2098
- 이분탐색
- 안드로이드 스튜디오
- MST
- DP
- 그리디 알고리즘
- 다음 API
- 인간이 그리는 무늬
- Today
- Total
Hoon222y
[0109] 함수 본문
5.11 자바스크립트 내장 함수
타이머 함수
setTimeout( function, millisecond) |
일정 시간 후 함수를 한번 실행 ( 일회성) |
setInterval( function, millisecond) |
일정 시간 마다 함수를 반복해서 실행 (무한반복) |
clearTimeout(id) |
일정 시간 후 함수를 한번 실행하는 것을 중지 |
clearInterval(id) |
일정 시간마다 함수를 반복하는 것을 중단 |
setTimeout과 setInterval 두 함수는 반환값은 고유의 id 값을 가지고 있는데 이를 이용하여 clearTimeout, clearInterval을 사용할 수 있다.
[코드5-30]
<head>
<script>
// 1초마다 함수를 실행합니다.
var intervalID = setInterval(function () {
alert('<p>' + new Date() + '</p>');
}, 1000);
// 10초 후 함수를 실행합니다.
setTimeout(function () {
// 타이머를 종료합니다.
clearInterval(intervalID);
}, 10000);
</script>
</head>
-> 이걸 alert가 아닌 1초 간격마다 바디에 누적되게 출력할 수 있도록 수정해 보아라.
<head>
<script>
window.onload = function(){
var intervalID = setInterval(function () {
document.body.innerHTML += '<p>' + new Date() + '</p>';
}, 1000);
setTimeout(function () {
clearInterval(intervalID);
}, 10000);
}
</script>
</head>
인코딩과 디코딩 함수
인코딩 : 문자를 컴퓨터에 저장하거나 통신에 사용할 목적으로 부호화 하는 방법
디코딩 : 인코딩을 원래대로 되돌리는 것
<script>
var myName = '손흥민';
var encodeName = encodeURIComponent(myName);
window.onload = function(){
document.body.innerHTML = encodeName;
document.body.innerHTML += decodeURIComponent(encodeName);
}
</script>
의 결과는%EC%86%90%ED%9D%A5%EB%AF%BC손흥민이다.
|
|
|
|
|
|
|
|
|
|
|
|
적절한과 최소한과 대부분의 차이는?
escape : 영문 알파벳과 숫자. 일부 특부 문자(@,*,-,_,+,.,\)를 제외하고 모두 인코딩한다.
encodeURI :
코드 실행 함수
eval(string) : string을 자바스크립트 코드로 실행한다.
[코드 5-32]
<head>
<script>
// 문자열을 생성합니다.
var willEval = '';
willEval += 'var number = 10;';
willEval += 'alert(number);';
// eval() 함수를 호출합니다.
eval(willEval);
</script>
</head>
여기에서 var number = 10을 넣는데 이렇게 안쓰지만 어딘가로부터 동적으로 저러한 문자열을 가져온다는것을 표현하기 위함.
eval 함수가 시행된 이후에도 number라는 변수는 계속해서 사용할 수 있을까? 된다!
숫자 확인 함수
- 변수의 숫자가 INfinity와 NaN 같은 특별한 숫자 인지 확인하는 함수
-자바스크립트에서는 0으로 나누면 infinity값이 들어간다.
isFinite() |
number가 무한한 값인지 확인 |
isNaN() |
number가 NaN인지 확인 |
숫자 변환 함수
[코드 5-39]
<head>
<script>
var won = '1000원';
var dollar = '1.5$';
alert(Number(won) + ' : ' + Number(dollar));
</script>
</head>
number 함수는 숫자로 바꿀 수 없으면 NaN 으로 변환한다. 즉 결과는 NaN : NaN 이다. 이러한 문제를 해결하기 위해
<head>
<script>
var won = '1000원';
var dollar = '1.5$';
alert(parseInt(won) + ' : ' + parseInt(dollar));
alert(parseFloat(won) + ' : ' + parseFloat(dollar));
</script>
</head>
를 통해 해결하면 결과값이 1000 1 / 1000 1.5 가 나오게 된다.
'코딩 > 교육' 카테고리의 다른 글
[JavaScript] 9장. 브라우저 객체 모델 (0) | 2019.01.10 |
---|---|
[JavaScript] 5장. 함수 (1) | 2019.01.09 |
[Javascript] 3장 4장 (1) | 2019.01.08 |
[0102-2] 행위 모델( 유스 케이스 / 시퀀스 / 상태 다이어그램 ) (0) | 2019.01.02 |
[0102-1] UML / 구조 모델 (클래스 / 객체 / 패키지 다이어그램) (0) | 2019.01.02 |