var x = 5; var result; try{ result = x * y; document.writeln(result); } catch(e){ document.writeln(e); }finally{ document.writeln('ok'); } /* result : ReferenceError: y is not defined ok */ try{ result = x / 0; document.writeln(result); throw new Error('0으로 나눌 수 없습니다.'); } catch(e){ document.writeln(e); document.writeln('
'); }finally{ document.writeln('ok'); document.writeln('
'); } /* result : 5 Error: 0으로 나눌 수 없습니다. ok */ try{ var calculator; calculator = calculator || {add : function(op1, op2){ return op1 + op2; }}; calculator && document.write(calculator.add(2,3)); calculator && document.write(calculator.sub(2,3)); }catch(e){ document.write(e); } /* result : 5 TypeError: calculator.subtract is not a function */
'JavaScript'에 해당되는 글 32건
- 2014.01.13 [JavaScript] try..catch..finally
- 2014.01.10 [JavaScript] for...in
- 2014.01.10 [JavaScript] Short-circuit logical operator
- 2014.01.10 [JavaScript] undefined와 null
- 2014.01.10 [JavaScript] 리터럴(Literal)
- 2009.09.08 [JavaScript] URL 알아내기
- 2009.04.21 [JavaScript] 이벤트 키코드(event.KeyCode)
- 2009.04.14 [JavaScript] Cookie 설정,삭제,값 불러오기
- 2009.04.08 jQuery 플러그 모음
- 2009.04.03 [JavaScript] 스크롤 따라 다니기
for...in 문은 객체의 프로퍼티나 배열의 원소에 대해 순서대로 반복처리를 실행
변수에는 객체로부터 나온 프로퍼티명이 저장되거나, 배열로부터 나온 인덱스번호가 저장된다.
for( 변수 in "객체" or "배열"){
}
var arr = [ {name: '정도전', age: 50}, {name: '이성계', age: 60}, {name: '정몽주', age: 54}, {name: '이방원', age: 43} ]; for(var idx in arr){ for(var prop in arr[idx]){ document.writeln(prop + ' : ' + arr[idx][prop]); if(prop == 'age'){ break; } } }
첫번째 값을 평가한후 뒤에 값을 평가하지 않는것.
//논리 연산자 /* var aa = false; var bb = true; aa && bb // bb 평가x aa || bb // bb 평가 */ var calculator; // &&연산에서 좌측 표현식이 undefined값을 가지면 //false로 평가되어 우측 평가식을 실행하지 않는다. calculator && document.writeln("calcuator.add(2,3):" + calculator.add(2,3)); calculator = { add : function(op1, op2){ return op1 + op2; } }; // && 연산에서 좌측 표현식이 0, undefined, null, NaN, "" 이외의 값을 가지면 // true로 평가되어 우측평가식이 실행됩니다. calculator && document.writeln("calcuator.add(2,3):" + calculator.add(2,3)); // || 연산에서 좌측 표현식이 undefined값을 가지면 false로 평가되어 우측 평가식을 실행함. calculator.subtract || (calculator.subtract = function(op1, op2){ return op1 - op2; }); calculator.subtract || document.writeln("calcuator.subtract (2,3):" + calculator.subtract (2,3));
undefined
- 변수가 선언은 되었지만 값이 할당된 적이 없는 변수에 접근하건, 존재하지 않은 객체 프로퍼티에 접근할 경우 반환되는 값.
- 논리 연산에서 false로,
산술연산에서는 NaN로,
문자열 연산에서는 "undefined"로 변환되어 연산됨.
null
- 예약어
- 보통 참조 타입과 함께 쓰여, 어떠한 객체도 나타내지 않는 특수한 값으로 사용
- 논리 연산에서는 false로,
산술연산에서는 0으로,
문자열 연산에서는 "null"로 변환되어 연산됨.
//undefined와 null var a; var obj = {}; document.writeln('a: '+ a);//a: undefinde document.writeln('obj: '+ obj);//obj: [object Object] document.writeln('obj.prop: '+ a);//a: obj.prop:: undefined obj = null; //객체 참조를 제거 document.writeln("obj: " + obj);//obj : null if(!a){} //!undefined if(!obj){} //!null
리터럴(Literal) : 프로그램의 코드상에 데이터의 값을 표현하는 방식
자바스크립트의 리터럴 :
- 숫자 리터럴, 문자열 리터럴, 배열 리터럴, 객체 리터럴, 함수 리터럴, 블리언 리터럴, undefined와 null 리터럴
[JavaScript] URL 알아내기
2009. 9. 8. 14:55보호되어 있는 글입니다.
내용을 보시려면 비밀번호를 입력하세요.
function keyCheck(){
alert(event.keyCode);
}
<input type="text" keydown="keyCheck">
키 | 코드 | 키 | 코드 | 키 | 코드 | 키 | 코드 | 키 | 코드 | 키 | 코드 |
←(백스패이스) | 8 | 스페이스 | 32 | 0 | 48 | A | 65 | 윈도우(왼쪽) | 91 | F1 | 112 |
TAB | 9 | PAGEUP | 33 | 1 | 49 | B | 66 | 윈도우(오른쪽) | 92 | F2 | 113 |
ENTER | 13 | PAGEDN | 34 | 2 | 50 | C | 67 | 기능키 | 93 | F3 | 114 |
SHIFT | 16 | END | 35 | 3 | 51 | D | 68 | 0(오른쪽) | 96 | F4 | 115 |
CTRL | 17 | HOME | 36 | 4 | 52 | E | 69 | 1(오른쪽) | 97 | F5 | 116 |
ALT | 18 | ←(중간) | 37 | 5 | 53 | F | 70 | 2(오른쪽) | 98 | F6 | 117 |
PAUSEBREAK | 19 | ↑(중간) | 38 | 6 | 54 | G | 71 | 3(오른쪽) | 99 | F7 | 118 |
CAPSLOOK | 20 | →(중간) | 39 | 7 | 55 | H | 72 | 4(오른쪽) | 100 | F8 | 119 |
한/영 | 21 | ↓(중간) | 40 | 8 | 56 | I | 73 | 5(오른쪽) | 101 | F9 | 120 |
한자 | 25 | INSERT | 45 | 9 | 57 | J | 74 | 6(오른쪽) | 102 | F10 | 121 |
ESC | 27 | DELETE | 46 | K | 75 | 7(오른쪽) | 103 | F11 | 122 | ||
NUMLOCK | 144 | L | 76 | 8(오른쪽) | 104 | F12 | 123 | ||||
SCROLLLOCK | 145 | M | 77 | 9(오른쪽) | 105 | ||||||
N | 78 | .(오른쪽) | 110 | ||||||||
O | 79 | /(오른쪽) | 111 | ||||||||
P | 80 | *(오른쪽) | 106 | ||||||||
Q | 81 | +(오른쪽) | 107 | ||||||||
R | 82 | -(오른쪽) | 109 | ||||||||
S | 83 | -(중간) | 189 | ||||||||
T | 84 | `(왼쪽콤마) | 192 | ||||||||
U | 85 | (중간) | 220 | ||||||||
V | 86 | ||||||||||
W | 87 | ||||||||||
X | 88 | ||||||||||
Y | 89 | ||||||||||
Z | 90 |
function setCookie( name, value, expiredays ){
todayDate.setDate( todayDate.getDate() + expiredays );
document.cookie = name + "=" + escape( value ) + "; path=/; expires=" + todayDate.toGMTString() + ";"
function getCookie( name ){
var x = 0;
while ( x <= document.cookie.length ){
if ( document.cookie.substring( x, y ) == nameOfCookie ) {
if ( (endOfCookie=document.cookie.indexOf( ";", y )) == -1 )
x = document.cookie.indexOf( " ", x ) + 1;
if ( x == 0 ) break;
}
}
<html>
<head>
<script type="text/javascript">
window.onscroll = bLayer01;
window.onresize = bLayer01;
bLayer_open01 = true;
openbLayer01();
function openbLayer01() {
var layer = document.getElementById("b_layer01");
if (bLayer_open01) {
bLayer_open01 = false;
layer.innerHTML = "<img src='이미지.gif' onclick='openbLayer01();>";
} else {
bLayer_open01 = true;
layer.innerHTML = "<img src='이미지.gif' >";
}
bLayer01();
}
function bLayer01() {
var layer = document.getElementById("b_layer01");
if (bLayer_open01) {
layer.style.top = (50+document.body.scrollTop) + 'px';
}else {
layer.style.top = (50+document.body.scrollTop) + 'px';
}
}
</script>
</head>
<body>
<div style="position:absolute;padding-left:9px;display:block;" id="b_layer01"></div>
</body>
</html>