참조 : http://rootbox.co.kr/p/421

설정

트랙백

댓글

confirm 함수가 자바스크립트에서 내장되어 있다.

 

var txt;;
var r = confirm("Press a button!");
if (r == true) {
    txt = "You pressed OK!";
} else {
    txt = "You pressed Cancel!";
}

confirm("Press a button!\nEither OK or Cancel.");

설정

트랙백

댓글

parent.function()

 

설정

트랙백

댓글

* location.href : 프로퍼티   * location.replace() : 메소드임.

location.href : 브라우저 옵션을 손대지 않았을 때, 브라우저의 주소 값이 바뀌면 브라우저는 '인터넷 임시파일'에 캐시가 있는지를 먼저 보고, 있으면 그걸 보여줌.

 

location.replace() : 메소드가 실행 될 때마다 매번 서버에 접속해서 페이지를 가져옴.

* location.href = http://www.mimul.com : [뒤로] 버튼을 눌렀을 시 이전 URL로 이동

* location.replace(http://www.minmul.com) : [뒤로] 버튼을 눌렀을 시 이전, 이전 페이지로 바꿔줌.

인터넷 임시파일을 사용 안함.

설정

트랙백

댓글

// looping a dom html collection

for(var i = 0, node; node = hCell[i++];){

// dosomething with node

}

 

or

 

var i = arr.length; while(i--){}

설정

트랙백

댓글

return -> true, false

* 모든 변수나 프로퍼티를 삭제 할 수 없다. 즉, 객체 자체는 삭제 할 수 없으나 객체의 프로퍼티는 삭제 할 수 있다는 것이다.

ex) var o = {x:1, y:2};

delete o.x; // 객체 프로퍼티 중 하나 삭제

delete o; // 선언된 변수는 삭제 할 수 없다.

typeof o.x; // 존재하지 않는 프로퍼티 "undefined" 반환

delete o.x; // 존재하지 않는 프로퍼티 삭제 true

* 암시적으로 선언된 변수를 지울 때는 delete 연산자를 사용 할 수 있지만, 단 var 문장을 이용해서 선언된 변수는 지울 수 없다.

x = 42; 

delete x 할 경우,

 return true;

( 암시적으로 선언된 변수는 지울 수 있음)

 

var y = 43;

delete y 할 경우,

return false (var로 선언한 변수는 지울 수 없음)

 

delete Math.PI;

return false (미리 정의된 속성은 지울 수 없음)

myobj = new Number(); myobj.h = 4;

delete myobj.h; // 사용자정의 속성은 지울 수 있음.

delete myobj; // return true (암시적으로 선언되었으므로 지울 수 있음)

 

설정

트랙백

댓글

자바스크립트에서 키 이벤트를 처리 할 때 'Tab' 이나 'Backspace' 를 직접 처리 하려면 몇 가지 문제가 있다.

Tab이나 Backspace 모두 브라우저에서 디폴트로 사용되는 키이므로 Tab이 눌렀을 때는 Tab Index에 따라 HTML의 element를 순회하고, Backspace가 눌렀을 때는 이전 페이지로 돌아가는 문제가 발생하게 됩니다.

이러한 문제를 해결하기 위해서는 어떻게 해야 할까요? 전에 조사했던 바로는 setTimeout을 사용하는 편법을 사용 하는 것입니다. 그러나, 이러한 방법을 사용하지 않는 방법도 존재합니다.

 

ex) bool = event.cancelable; or event.preventDefault();

이 두개를 사용하게 되면, 브라우져의 디폴트 동작을 취소 시킬 수 있게 됩니다.

 

preventDefault를 사용할지 or cancelable을 사용 할지 event에 따라 달라지게 됩니다.

(* IE에서는 return false를 해주면 됩니다.)

 

그리고, 이벤트가 발생 했을 때 상위의 element로 이벤트를 전달하고 싶지 않을 때는 위의 cancelable이나 preventDefault가 아니라 stopPropagation을 사용해주면 됩니다.

(* IE에서는 cancelBubble을 사용하면 됩니다.)

event.cancelBubble = true; // for IE

if(event.stopPropagation) event.stopPropagation() ;

 

'J > Javascript' 카테고리의 다른 글

자바스크립트 최적화 (반복문)  (0) 2014.03.19
자바스크립트에서 delete 연산자  (0) 2014.03.19
Enums in Javascript  (0) 2014.03.19
Javascript에서 String 여러 줄 (MultiLine)에 쓰기  (0) 2014.03.19
Script async와 defer  (0) 2014.03.19

설정

트랙백

댓글

Enums in Javascript

J/Javascript 2014. 3. 19. 15:51

function Suit(name){

this._name = name;

}

 

Suit.prototype.toString = function(){

return this._name;

}

Suit.CLUBS = new Suit('clubs');

Suit.DIAMONDS = new Suit('diamonds');

Suit.HEARTS = new Suit('hearts');

Suit.SPADES = new Suit('spades');

 

설정

트랙백

댓글

var a = 'you can start here \

and continue here \

and then finish it up here.';

설정

트랙백

댓글

Script async와 defer

J/Javascript 2014. 3. 19. 15:16

<script async src="*.js" onload="myInit()"></script>

<script defer src="*.js" onload="myInit()"></script>

 

async는 window의 load event 전 내려받는 즉시 바로 실행

defer는 parsing 작업이 끝난 후, DOM Content Loaded event 전에 문서에 삽입된 순서에 따라 실행.

 

script가 문서를 직접 만지고 조작하거나 서로 간 로딩 순서가 중요할 경우엔 defer 속성을 쓰고,

그렇지 않으면 async 속성을 써서 웹 페이지 로딩 속도를 줄일 수 있다.

* IE에선 아직 async 지원 *

 

 

설정

트랙백

댓글