'slice'에 해당되는 글 1건

  1. 2008.02.27 Opera - Slice method of Array Object too bad -_-^ (4)
사용자 삽입 이미지

Opera의 Array native에 문제일까??
오늘 오전 내내 삽질의 연속..

IE, FF, Safari 에서는 리스팅이 잘되는데 유독 Opera에서 오 작동을 해서 결국은..

Opera의 Array method 중
slice method에 문제가 있음을 발견했습니다.

분명 같은 스팩을 사용할텐데 왜 Opera에서만 이런 문제가 발생하는 지 모르겠군요..

다음 코드를 참고하세요.

아무것도 없는 length가 4인 array

var arr = [1,2,3,4];
var xxx = arr.slice(0,10);
     alert(arr);
     alert(xxx);
     alert(arr);

결과 ( alert(xxx)의 수행 )
     IE              FF             Opera         Safari
[1,2,3,4]     [1,2,3,4]       [1,2,3,4]      [1,2,3,4]

당연한 결과입니다.  하지만 값이 없는 배열일 경우에는 그 결과가 달라집니다.

var arr = new Array(4);  //or [,,,]
var xxx = arr.slice(0,10);
     alert(arr);
    alert(xxx);
    alert(arr);

위의 코드의 경우 Opera의 경우에만 결과가 틀립니다.

결과 ( alert(xxx)의 수행 )
     IE              FF             Opera         Safari
   [,,,]           [,,,]              []              [,,,]

오페라만 값이 넘어오지 않습니다.
arr 이 갖는 여러가지 배열에 상황에서 slice 메서드를 수행해 봤지만 slice에 의해
반환되어질 배열의 각 구성 요소의 내용이 undefined 면 반환된 배열의 length는 0으로 되어 버린다는 것..


신고
Posted by Rhio.kim