썬테크블로거로 초대받아 다녀왔습니다^^;

아 역시 선에서 주최하는 행사답게 스케일이 커서 좋았습니다.ㅋ
 


좀 늦는 바람에 도착하자마자 산이이 식당으로 갔습니다. ㅋㅋ 오늘은 초고급 뷔페!!



어제와는 격이 다른 초호화 뷔페.. ㄷㄷㄷ

음식 3접시 + 디저트 1접시 해치우고 바로 세미나를 보러 갔습니다.

다른곳은 사람이 너무 많아서 사람이 비교적 적은 트랙에 가서 세미나를 들었습니다.

효율적인 어플리케이션 개발을 위한 기술이었나... 그 트랙에 갔습니다. 

"javaME를 위한 LWUIT와 JSR" 이라는 강연이었는데, 자바를 이용한 휴대폰 컨텐츠 개발을 다룬 세미나 였습니다.

세미나 도중에 들어가서 들었기 때문에.. 뭔얘기하는진 잘 모르고 그냥 시연하는것만 봤다능;;

다음시간에는 "Comet과 Ajax를 이용한 웹어플 개발" 이라는 세미나를 들었다.


강연자는 중국..? 대만..? 해튼 중국계인듯한 사람이었는데.. 마이클 리.... 님이었던듯.. 

기대하던 데모가 제대로 작동하지 않아 아쉬웠습니다.

같은 url 을 쳐 넣었는데 파폭에선 되고 IE 에선 안되고...

아... 그동안 수많이 삽질해왔던 것 같은데... 세미나와서도 보게 될 줄은 몰랐습니다.ㅋ

"아까는 분명히 잘됐었는데.. 지금은 안되네요ㅠㅠ"  강연자님 살짝 당황...^^; 

원래 개발자가 그래요.. 테스트 할때는 엄청 잘 되던것이 고객 앞에서는 버그 투성이..ㅋ

부끄럽지만 솔직히 2 틀간 가장 기억에 남는 것이 뷔페에서 먹은것이라는....ㄷㄷㄷ
 
즐거웠습니다!!!
Posted by 행복한 프로그래머 궁금쟁이박

댓글을 달아 주세요

  1. chpie 2008.10.18 22:40 신고  댓글주소  수정/삭제  댓글쓰기

    형 블로그 IE7 에서 'null 은 객체가 아닙니다 라고 에러나요

  2. BlogIcon 관리자 2008.10.19 18:17 신고  댓글주소  수정/삭제  댓글쓰기

    이제야 첫 글을 남기다니. 형은 그저 섭섭하구나.

  3. BlogIcon 관리자 2008.10.19 18:18 신고  댓글주소  수정/삭제  댓글쓰기

    alert 창 버그는 daum 에 신고했다;

  4. chpie 2008.10.19 23:59 신고  댓글주소  수정/삭제  댓글쓰기

    댓글을 달기 쑥쓰러워서요.. ㅋㅋ

textarea 의 글자수를 제한하는 자바스크립트 함수를 만든다.

다음과 같은 함수를 정의한 뒤 onKeyUp 이벤트에 넣어주면 된다.
          
            checkContentLength : function( content, max_length)
            {
                var i;
                var string = content.value;
                var one_char;
                var str_byte = 0;
                var str_length = 0;
              for(i = 0 ; i < string.length ; i++)
            {
              // 한글자추출
              one_char = string.charAt(i);
        
              // 한글이면 2를 더한다.
              if (escape(one_char).length > 4)
              {
                 str_byte = str_byte+2;
              }
              // 그외의 경우는 1을 더한다.
              else
              {
                 str_byte++;
              }
        
              // 전체 크기가 li_max를 넘지않으면
              if(str_byte <= max_length)
              {
                 str_length = i + 1;
              }
            }
            // 전체길이를 초과하면
              if(str_byte > max_length)
              {
                alert(" 글자를 초과 입력할수 없습니다. \n 초과된 내용은 자동으로 삭제 됩니다. ");
                content.value = string.substr(0, str_length);
              }

            }   

textarea 태그 안의 이벤트 삽입

<textarea class="big-textarea02" name="valuation" onKeyDown="Mys.Sub.checkContentLength( this )"></textarea>

Posted by 행복한 프로그래머 궁금쟁이박

댓글을 달아 주세요

  1. 강상주 2009.10.20 20:19 신고  댓글주소  수정/삭제  댓글쓰기

    onKeyDown 으로 하시면 안되고 onKeyUp으로 하셔야 합니다

    위처럼 하면 1byte 더 적을 수 있습니다.

  2. BlogIcon 관리자 2009.10.21 10:50 신고  댓글주소  수정/삭제  댓글쓰기

    헐 감사합니다.ㅠ

Ext JS 의 메소드들을 생각날 때마다 적어본다.

우선 가장 많이 사용하는 메소드는 뭐니뭐니해도...

Ext.get : id 를 이용하여 해당 엘리먼트를 가져온다.

this.form = Ext.get("form_id");

보통 이런식으로 폼의 아이디를 가져온 다음 그 안의 div 엘리먼트들을 컨트롤 하는 것이 무난하다.

비슷한 것으로 Ext.fly 가 있다.

이 것은 엘리먼트를 변수에 저장하지 않고 다이렉트하게 그냥 엘리먼트들의 메소드들을 호출해야한다.

대충 그런 것 같다; Ext.get 보다 더 빠른건 확실하다.ㅋㅋ

흠... 또 생각나는건

getHeight 와 setHeight 이런것들... 아주 기본적이다.

엘리먼트의 height 값을 가져오거나 설정한다. 음... 살짝 주의해야 할 것은

setHeight 메소드를 호출할 때 단위 값을 붙여주어야 한다는 것이다.

this.form.divElement.setHeight(height + "px")

이런식으로...ㅋ

헉 밥 왔으므로 여기까지^^;

Posted by 행복한 프로그래머 궁금쟁이박

댓글을 달아 주세요

  1. BlogIcon 머샤머샤 2008.08.23 20:23 신고  댓글주소  수정/삭제  댓글쓰기

    금요일, 저녁 8시에 밥이 온것은... (야근)입니까? :)

    우리팀도 이번에 EXTJS를 시작했는데... 개발자들 정말 고생하는거 같아요.

  2. BlogIcon Ugg Boots Sale UK 2012.12.11 15:29 신고  댓글주소  수정/삭제  댓글쓰기

    어떤 알려진 것은 그들이부터 호주가 착용 한 것입니다

PHP 날짜 함수 정리 ( Write By Yaku)

 

오늘로부터 5일 후

echo date("Y-m-d",strtotime("+5 day"));
다음은 오늘로부터 3일 전이 되겠습니다.
echo date("Y-m-d",strtotime("-3 day"));

 

오늘로부터 6주 전

$calyoil = 5 - date("w"); //현재 요일에서 금요일을 구하기 위한 가감
$needday = strtotime("-6 week"); // 6
주전
$needday = date("Y-m-d" , strtotime("$calyoil days",$needday));
echo $needday;

 

윤년

if(29==date(t,mktime(0,0,0,2,1,$year))
echo "
윤년";
else echo "
윤년아님";

 

--mktime(,,,,,년도)--

 

그 달의 마지막 날짜  가지고 오기

$lastday = date(t,mktime(0,0,1,$month,1,$year));

 

금주의 시작일 구하기

$now=date("w");

$m=$now-1;

$start=date("Y-n-d",strtotime("-$m day"));

 

 

 

 

JS 날짜 정리 ..

Month ( 0 ~ 11까지 정의 된다 )  현재월을 표시하려면 month -1 하여라 ..

 

날짜 객체  생성  var today = new Date( , , ) ;

날짜 년 가지고 오기 today.getYear();

날짜 월 가지고 오기 today.getMonth();  ( 현재월 가지고 올경우  +1 )

날짜 일 가지고 오기 today.getDate();  (day 가 아니 getDate 이다)

날짜 월 짜리수 맞추기 위한 if = parseInt() < 10 ? - + parseInt() : parseInt();

 

 

 

Mysql 날짜 함수

select date_sub(now(), interval 5 day);
5
일후..
select date_add(now(), interval 5 day);
5
일전...

PHP 날짜 함수 정리 ( Write By Yaku)

 

오늘로부터 5일 후

echo date("Y-m-d",strtotime("+5 day"));
다음은 오늘로부터 3일 전이 되겠습니다.
echo date("Y-m-d",strtotime("-3 day"));

 

오늘로부터 6주 전

$calyoil = 5 - date("w"); //현재 요일에서 금요일을 구하기 위한 가감
$needday = strtotime("-6 week"); // 6
주전
$needday = date("Y-m-d" , strtotime("$calyoil days",$needday));
echo $needday;

 

윤년

if(29==date(t,mktime(0,0,0,2,1,$year))
echo "
윤년";
else echo "
윤년아님";

 

--mktime(,,,,,년도)--

 

그 달의 마지막 날짜  가지고 오기

$lastday = date(t,mktime(0,0,1,$month,1,$year));

 

금주의 시작일 구하기

$now=date("w");

$m=$now-1;

$start=date("Y-n-d",strtotime("-$m day"));

 

 

 

 

JS 날짜 정리 ..

Month ( 0 ~ 11까지 정의 된다 )  현재월을 표시하려면 month -1 하여라 ..

 

날짜 객체  생성  var today = new Date( , , ) ;

날짜 년 가지고 오기 today.getYear();

날짜 월 가지고 오기 today.getMonth();  ( 현재월 가지고 올경우  +1 )

날짜 일 가지고 오기 today.getDate();  (day 가 아니 getDate 이다)

날짜 월 짜리수 맞추기 위한 if = parseInt() < 10 ? - + parseInt() : parseInt();

 

 

 

Mysql 날짜 함수

select date_sub(now(), interval 5 day);
5
일후..
select date_add(now(), interval 5 day);
5
일전...

Posted by 행복한 프로그래머 궁금쟁이박

댓글을 달아 주세요

먼저 HTML 편집에서

사이드바에 DIV 태크를 넣어놓고 자바스크립트를 사용하여 동적으로 위젯을 삽입한다.

div 태그를 사이드바에 삽입
<s_sidebar_element>
  <div id="widjetBox"></div>
</s_sidebar_element>

자바스크립트코드삽입
<script>
Global = {};
Global.shscript =
{
   init : function()
   {
      this.blogDesc = document.getElementById("blogDesc");
      
      doRainbow(this.blogDesc);
      this.widjetBox = document.getElementById("widjetBox");
      this.widjetBox.innerHTML = '' +
        '<ul id="blogxUl">'+
        '<li><a href="http://cafe.naver.com/webprogrammer2/" target="_blank">WebProgrammer 2.0</a></li>'+
        '<li><a href="#">위젯 실습 중입니다.</a></li>'+
        '</ul>';
        this.widjetBox.style.height="50px";
        this.widjetBox.style.border="2px dotted black";
        this.widjetBox.style.marginBottom="5px";
        this.widjetBox.style.overflow="hidden";
        this.widjetBox.style.position="relative";
        
        this.ulTag =document.getElementById("blogxUl");
                this.ulTag.style.width='200px';
          this.ulTag.style.position="absolute";
          this.ulTag.style.top='0px';
                this.ulTag.style.left='0px';
          this.timer = {};
          
          this.widjetBox.onmouseover = this.stopAnimation;        
          
          this.widjetBox.onmouseout = this.animation;
           
        
        window.scrolldir = true;
        

    },
    
    animation : function()
    {
        ulTag = document.getElementById("blogxUl");
        this.timer = setInterval(function()
        {
                scrolldir = false;
                this.ulTag.style.left = (parseInt(this.ulTag.style.left) + 1) + "px";
                if((parseInt(this.ulTag.style.left)) == 200)
                {
                                        this.ulTag.style.left = -100 + "px";
                }

        }, 50);
    },
    
    stopAnimation : function()
    {
        clearInterval(this.timer);
    }



}


function MM_showHideLayers( optionid, visible ) { //v6.0
    var layer = document.getElementById(optionid);
    if(visible == 'show')
        layer.style.visibility = 'visible';
    else if(visible == 'hide')
        layer.style.visibility = 'hidden';
}

</script>

마지막으로 html 코드의 끝에서

<script>
   Global.park.init();
   Global.park.animation();
</script>
Posted by 행복한 프로그래머 궁금쟁이박

댓글을 달아 주세요

  1. BlogIcon Ugg Boots Sale UK 2012.12.11 15:29 신고  댓글주소  수정/삭제  댓글쓰기

    어떤 알려진 것은 그들이부터 호주가 착용 한 것입니다

<input type="text" id="budget" onkeyup="addComma(this.value)"  style='IME-MODE: disabled'/>

아래의 함수를 작성한 뒤 위처럼 input 태그의 onkeyup 에 추가한다.

숫자 유효값을 체크하기 위해서는 onkeydown 에 함수를 추가적으로 넣도록 한다.

아래의 함수는 먼저 문자열에서 숫자만 뽑아낸 뒤 알고리즘에 의해서

세자리마다 콤마를 찍어주는 방식으로 구현되었다.

function addComma( real ) {
    var i=0, j;
    var len, startStrLen, divideNum;
    var tmpStr, remainStr, startStr;
    var resultStr;
    var valid = "0123456789";
    var num = "";
    var idx;
   
    // 먼저 123,456,789 이런식으로 되어있는 문자열에서 숫자만 뽑아낸다.
    for(idx = 0 ; idx < real.length ; idx++)
    {
        if(valid.indexOf(real.charAt(idx)) != -1)
        {
           num += real.charAt(idx);
        }         
    }
    len = num.length;     // 입력된 숫자의 길이를 구함. 12345라면 5가 됨.
    divideNum = Math.floor(len / 3); // 가장 앞 자리를 구하기 위해 3으로 나눔.. 예를 들어 12345라면  len은 5이고 divideNum은 1
    startStrLen = len % 3;     // 컴마를 찍을 문자열을 정하기 위해 3으로 나눈 나머지를 구함. 12345라면 len은 5이고 startStrLen은 2
   
    resultStr = num.substr(0, startStrLen ); 
    // 부분 문자열을 구하는데, 위에서 구한 크기만큼 0번째부터 잘라낸다.
    // 12345라면, 0번째부터 2개인... 12가 된다.
    // 왜 이렇게 하냐하면, 3자리 단위로 컴마가 찍혀야 되기 때문에 3으로 나눠서 나머지를 시작 문자로 놓고
    // 그 다음부터 컴마를 찍으면 된다.
    // 1234567 이라면 3으로 나눈 나머지인 startStrLen은 1이 되어, resultStr은 1이 될것이다.
   
    remainStr =  num.substr(startStrLen, len - startStrLen ); 
    // 나머지 문자를 구한다. 12345인 경우 345가 된다.
   
    tmpStr = "";
   
    if ( remainStr != "" )  // 만약 입력된 문자가 1, 12, 123 같이 3글자 이하라면 이 루틴은 필요 없다.
    {
     // 나머지 문자열, (여기서는 345)에 대해서
     // 앞에 컴마를 붙히고 3글자식 잘라서 더해준다.
     // 만약 사용자 입력이 1234567 이라면 divideNum = 2 가 되고 remainStr은 234567이 되어서
     // 두번 루프가 돌면서 ,234,567 의 문자열이 만들어진다.
     for ( i = 0; i < divideNum ; i++ )
      tmpStr = tmpStr + "," + remainStr.substr(i*3, 3);
    }
   
    resultStr = resultStr + tmpStr;
   
    // 3으로 딱 나눠 떨어지는 경우는 (예를 들어 123456은 ,123,456이 되기 때문에 맨앞의 쉼표 제거)
    if ( startStrLen == 0 )
     resultStr = resultStr.substr(1, resultStr.length - 1);
   
    document.getElementById("budget").value = resultStr;
}

// addOnLoad()
function addOnload() {
 
 // 함수 유효성 검증
 if( !document.getElementsByTagName || !document.getElementById ) return false;

 // 숮자 field에 numOnly 함수를 추가한다.
 document.getElementById("budget").onkeydown = numChk;
  document.getElementById("crossRate").onkeydown = numChk;
  document.getElementById("mutationRate").onkeydown = numChk;
  document.getElementById("populationSize").onkeydown = numChk;
  document.getElementById("maxGeneration").onkeydown = numChk;
}

Posted by 행복한 프로그래머 궁금쟁이박

댓글을 달아 주세요

  1. BlogIcon 날리블루스 2009.01.21 22:08 신고  댓글주소  수정/삭제  댓글쓰기

    금액의 콤마사용 때문에 여기저기 찾다가 님의 블로그를 방문하게 되었습니다. 기존에 쓰던 JS 정규식이 IE에서는 잘 되던데, 파이어폭스에서는 안되어서 마구마구 찾았습니다. 다른브라우저에서는 아직 잘 ...

    잘 쓰겠습니다!

    저는 이렇게 활용할 예정입니다~~
    <!-- HTML에서는 -->
    <input ... onkeyup="this.value = addComma(this.value);">
    <!-- // 끝 -->
    //JS에서는
    // document.getElementById("budget").value = resultStr;
    ==> return resultStr;

  2. BlogIcon 관리자 2009.01.26 12:41 신고  댓글주소  수정/삭제  댓글쓰기

    잘 쓰세요~ 반갑습니다^^

  3. BlogIcon rolex replica 2013.01.22 16:51 신고  댓글주소  수정/삭제  댓글쓰기

    정말 정보를 주셔서 감사합니다, 감사합니다.

input 태그 안에 숫자만 입력되도록 제어하는 자바스크립트이다.

현재 소스는 숫자와 '.' 만을 입력할 수 있도록 되어있다.

마지막에 input 태그 안에

style='IME-MODE: disabled'

이 것을 넣어야 한글까지 입력이 안된다.

<input type="text" name = "applyfield" id = "applyfield" class="numtext" style='IME-MODE: disabled'>

잊지 말자.ㅋ


function addLoadEvent(func) {
 var oldonload = window.onload;
 if( typeof window.onload != "function" ) {
  window.onload = func;
 } else {
  window.onload = function() {
   oldonload();
   func();
  }
 }
}

/*
   숫자값 이벤트 체크
*/
function OnlyNum(num) {
 if (!chkOnlyNum(num)) {

  return false;
 }
 return true;
}


//숫자 외의 문자가 포함되어 있으면 false 리턴
function chkOnlyNum(num) {
 
 if((num >= 48 && num <= 57) || num == 142 || num == 62 )  // 오른쪽 숫자 자판과 '.'
   return true;
 if(num > 10) {    // 그리고 위의 가로 숫자 자판을 빼고는 모두 return false
   return false;
 }
 return true;
}

function numChk() {

 if(OnlyNum(event.keyCode - 48) != true)
  return false;
}

function addOnload() {
 
 document.getElementById("applyfield1").onkeydown = numChk;
 document.getElementById("applyfield2").onkeydown = numChk;
 document.getElementById("applyfield3").onkeydown = numChk;
 document.getElementById("applyfield4").onkeydown = numChk;
 document.getElementById("applyfield5").onkeydown = numChk;
 document.getElementById("applyfield6").onkeydown = numChk;
  document.getElementById("wallSize").onkeydown = numChk;
}

// body.onload 에 추가
addLoadEvent(addOnload);

Posted by 행복한 프로그래머 궁금쟁이박

댓글을 달아 주세요

JavaScript Lint

Web/JavaScript 2007.10.26 10:47
What It is!

JavaScript 문법 검사기 입니다.
틀린 문법과 위치(줄수)를 찾아 줍니다. IE6엔진을 그대로 사용하는 거 같아 FireFox 에서 나지 않는 오류들을 잘 잡아 줍니다. 정말 디버깅 하기 힘든 JavaScript 에서 이 녀석 희망입니다.
간단히 밑에 설치법을 정리 하였습니다. 다른 많은 분들의 삽질을 덜 하길 바랍니다.

사용자 삽입 이미지

http://www.javascriptlint.com/
위의 사이트에서 최신 버전을 구할 수 있다.

다운을 받으면 편한 곳에 압축을 푼다.
나는 C:\Program Files\JSL 이 곳에 압축을 풀었다.


AcroEdit 설정방법

사용자 삽입 이미지
아크로 에디트를 실행을 시킵니다.
사용자 도구를 선택하면 사용자 도구 설정이란 메뉴가 있습니다.
그것을 클릭하면 아래와 같은 화면이 나옵니다.
사용자 삽입 이미지
여기서 추가 버튼을 누르고 아래와 같이 채웁니다.
사용자 삽입 이미지
빨간색 칠한 부분은 꼭 채우셔야 합니다.
밑에 옵션은 사용자가 편한데로 설정 하시면 됩니다.

그럼 한번 실행 시켜 보겠습니다. 단축키를 지정하시면 단축키를 눌러서 바로 실행 시키고 아니면 도구 버튼을 활용 하겠습니다.
사용자 삽입 이미지
결과 화면이 나옵니다. warning들과 error들 중 error는 꼭 고쳐야 IE에서 스크립트 오류가 나지 않습니다.


Eclipse

Eclipse를 실행 시킵니다. 그리고 나서 Run 메뉴를 선택합니다.
Submenu로 External Tools 를 선택합니다. 그 서브메뉴로 Open External Tools Dialog 를 선택합니다.
사용자 삽입 이미지

사용자 삽입 이미지

빨간 테두리는 무조건 꼭 적으셔야 합니다. 다 기입 되면 Apply를 선택하고 다이알 로그를 닫습니다.

사용자 삽입 이미지

도구 버튼을 이용하여 실행 해 보았습니다.

그럼 다들 자바스크립트를 좀더 수월하게 사용하길 바랍니다^^
Posted by 행복한 프로그래머 궁금쟁이박

댓글을 달아 주세요

JavaScript 배열

Web/JSP 2007.10.26 10:44
Java 의 Vector 클래스는 내부적으로 배열을 사용하고 있다. 따라서 Vector 의 자바스크립트 버전을 만들기 위해서는 Array 객체에 대한 빵빵한 지식이 필요하다 (없어도 된다. 그러나 있으면 매우 좋다). 자! 배열의 기초와 유용한 메쏘드들을 살펴보자.

배열의 생성
1. 생성자를 이용한 생성
- new Array(arrayLength)
ex) friends = new Array(3); // 크기가 3 인 배열 생성
- new Array(element0, element1, ... , elementN)
ex) friends = new Array("개똥이", "소똥이", "말똥이"); // 크기 3인 배열 생성(값이 채워짐)
2. 직접 생성
friends = ["개똥이", "소똥이", "말똥이"];

간접적인 배열 길이의 증가
배열의 길이는 현재 배열의 길이보다 큰 인덱스를 사용하면 자동으로 증가한다. 아래는 배열의 길이가 0 인 객체 생성 후 99번째 요소에 값을 할당하여 배열의 길이가 100 으로 증가한 예이다.
friends = new Array();
friends[99] = "새똥이";

메쏘드 종류
concat : 두개의 배열을 합쳐 새로운 배열을 리턴한다. 원본 배열은 변하지 않는다.
문법
arrayName.concat(arrayName2, arrayName3, ... , arrayNameN)
인자
arrayName2, ... , arrayNameN - 합쳐질 인자들
예제
두 배열을 합치는 예
alpha = new Array("a", "b", "c");
numeric = new Array(1, 2, 3);
alphaNumeric = alpha.concat(numeric); // ["a", "b", "c", 1, 2, 3] 배열 생성

join : 모든 요소가 구분자로 이어진 문자열을 리턴한다. 디폴트 구분자는 comma(,) 이다.
문법
arrayName.join(separator)
인자
separator 요소와 요소 사이에 사용될 구분자 문자열
예제
friends = new Array("소똥이", "개똥이", "말똥이");
strFriends1 = friends.join(); // 소똥이,개똥이,말똥이
strFriends2 = friends.join(", "); // 소똥이, 개똥이, 말똥이
strFriends3 = friends.join(" + "); // 소똥이 + 개똥이 + 말똥이

pop : 배열의 마지막 요소를 삭제한 후 그 값을 리턴하고 배열의 크기를 줄인다.
문법
arrayName.pop()
인자
없음
예제
// 말똥이가 pop 되고 배열에는 "개똥이", "소똥이"만 남는다.
// 배열크기도 2로 줄어든다.
friends = ["개똥이", "소똥이", "말똥이"];
popped = friends.pop(); // popped 에 말똥이가 할당된다.

push : 배열에 하나 또는 여러개의 값을 넣고 새로운 배열의 길이를 리턴한다.(배열길이 증가)
문법
arrayName.push(element1, element2, ... , elementN)
인자
element1, element2, ... , elementN - 추가될 요소들
예제
friends = ["개똥이", "소똥이"];
pushed = friends.push("말똥이", "새똥이"); // ["개똥이", "소똥이", "말똥이", "새똥이"]
alert(pushed); // 4

reverse : 배열 요소를 역순으로 재배치한다(첫번째 요소는 마지막으로, 마지막 요소는 처음으로).
문법
arrayName.reverse()
인자
없음
예제
myArray = new Array("1", "2", "3");
myArray.reverse(); // ["3", "2", "1"]

shift : 첫번째 요소를 삭제하고 배열의 길이를 하나 줄인 후, 삭제된 요소를 리턴한다.
문법
arrayName.shift()
인자
없음
예제
friends = ["개똥이", "소똥이", "말똥이"];
shifted = friends.shift(); // ["소똥이", "말똥이"]
alert("삭제된 요소는 " + shifted + " 입니다."); // 개똥이

slice : 얇게 썬 슬라이스 치즈가 생각난다(^^). 배열의 일부를 잘라내어 새로운 배열을 리턴한다.
문법
arrayName.slice(begin[,end]) : [] 은 선택사항임
인자
begin - 0보다 큰 시작 인덱스 (필수)
end - 0보다 큰 끝 인덱스 (선택). 지정되지 않으면 배열의 끝까지 복사된다.
예제
numbers = ["0", "1", "2", "3", "4"];
sliced1 = numbers.slice(2, 3); // ["2"]
sliced2 = numbers.slice(2); // ["2", "3", "4"]

sort : 배열의 요소를 정렬한다.
문법
arrayName.sort([compareFunction])
인자
compareFunction - 정렬방법을 지정한 함수.
생략시에는 요소들의 toString() 값을 사전순서(Dictionary order) 대로 정렬한다.
compareFunction(a, b) 에서
1) a > b : 0 보다 큰 값 리턴
2) a = b : 0 리턴
3) a < b : 0 보다 작은 값 리턴
예제
// 역행 정렬
function descComparator(a, b) {
return b - a;
}

// 순행 정렬
function ascComparator(a, b) {
return a - b;
}

numbers = ["0", "1", "2", "3", "4"];
numbers.sort(); // ["1", "2", "3", "4", "5"]
numbers.sort(ascComparator); // ["1", "2", "3", "4", "5"]
numbers.sort(descComparator); // ["4", "3", "2", "1", "0"]

splice : 이전 배열요소를 삭제하고 새로운 내용물을 추가하는 형태로 배열 내용을 변경한다. 삭제된 요소들은 리턴된다. Vector 와 유사한 기능을 하므로 숙지하자.
문법
arrayName.splice(index, howMany, [element1][, ..., elementN])
인자
index - 변경하고자 하는 요소의 시작 인덱스
howMany - 삭제하고자 하는 이전 배열요소 갯수.
element,...,elementN - 추가하고자 하는 배열 요소들
예제
// numbers[2]부터 2개("2", "3")를 삭제하고 그 자리에 "5"와 "6" 을 삽입한다.
numbers = ["0", "1", "2", "3", "4"];
spliced = numbers.splice(2, 2, "5", "6"); // ["0", "1", "5", "6", "4"]
alert(spliced); // "2", "3"

unshift : 하나 또는 여러개의 요소를 배열의 왼쪽에 추가한다. 배열길이는 증가한다.
문법
arrayName.unshift(element1,..., elementN)
인자
element1,...,elementN - 배열의 앞쪽에 들어갈 요소들
예제
numbers = ["0", "1", "2"];
numbers.unshift("-2", "-1"); // ["-2", "-1", "0", "1", "2"]

출처 : http://blog.empas.com/jjh7266/6264266
Posted by 행복한 프로그래머 궁금쟁이박

댓글을 달아 주세요

JavaScript 기본

Web/JSP 2007.10.26 10:44
<script type="text/javascript">
...
</script>
Posted by 행복한 프로그래머 궁금쟁이박

댓글을 달아 주세요