어제 올리려다만 오늘의 퀴즈 ;;; > 자유게시판

자유게시판

어제 올리려다만 오늘의 퀴즈 ;;; 정보

어제 올리려다만 오늘의 퀴즈 ;;;

본문

 
자바스크립트에서 아래처럼 출력하면 어떤값이 나올까용?
 
돌려보고 적으면 반칙입니당 ㅋㅋㅋ
 

aaa='';
bbb = aaa.split(',');
alert(bbb.length);
 
 
 
1. undefined
2. null
3. 공백문자
4. 0
5. 1

 
 
 
맞추신 분에게는 오리 누드사진을 보내드리겠습니다.
 
걍 찍어도 되니 많은 참여 부탁드립니다 ~~ 
 
 
추천
0
  • 복사

댓글 33개

모르면 3번..
이거는 5지 선다형..^^
마지막 오답까지 찍었다가 싸대기를 허벌 나게 맞은 기억이..^^
저도 오리로 즈세여..^^
정답을 공개하겠습니다....
일단 정답은 5번 "1" 입니다 !!!
왜 그런진 저도 잘 몰르겠네요 ㅋㅋㅋ

생각같아서는 aaa 값이 아예 없으니 bbb도 값이 없고 "0" 이 나와야 될 것 같기도 한데...
실제로도 bbb 의 값을 찍어보면 아무런 값이 없습니다.
뭔가 출력안되는 아스키문자 때문에 1이라는 값이 나오지 않을까 하는 어설픈 추측만 ;;

그리고 aaa='xxxx'; 처럼 값이 있을때도 똑같이 1이 출력됩니다. ( "," 가 없는경우 )
참고로 php 에서 explode 함수도 같은값이 나오더군뇽...

가끔 요런것 땀시 헷갈릴때가 있더라구용 ㅜㅜ
혹시 왜 그런건지 자세히 아시는분 계시면 설명좀 부탁드려용~~
alert(']'+bbb+'[');      ==>  ][
alert(']'+bbb[0]+'[');  ==>  ][
똑같이 나와용...

만약 aaa = 'ppp'; 이런값인 경우에도 bbb 나 bbb[0] 둘다 "ppp"로 나오구요
aaa가 빈값일때 bbb도 빈값(?)이고 bbb의 길이는 1이 되는데
bbb 는 아스키값이 없고 bbb[0] 는 아스키값이 NaN 이 되네요..
뭐가 들었으니 1이라고 할텐데 찍어도 안나오는 놈이라 ;;
걍 외워야겠네요 ㅋㅋㅋㅋ
bbb에 원소가 하나밖에 없기때문에 쉼표를 찍지 않는데다가
그나마 하나있는 것도 빈 문자열이죠.
그래서 bbb도, bbb[0]도 공백으로 나오는겁니다.
제가 잘은 모르지만..
맞는지도 모르겠고 제생각은..
bbb의 길이는 aaa값에서 ,를 기준으로 값을 나눈값을 뱉으라고 하셨으니까..
,의 수를 뱉는게 아니라 ,로 나누었을때 몇개로 나눠지는가에 대한 수를 뱉으라고 해주신거같은데..
aaa에 ,가 하나라도 있는경우 ,기준 앞에 1개 뒤에1개 니까 2를 뱉는대.. ,없이 아무것도 안입력하든 뭘 쓰든 1을 뱉어요.. 커서위치로 구분해서 수를 새는지는 모르겠는대..
가만 보면 값이비든 채워넣든 ,가 없으면 한칸인데 ,로 나눈후 ,뒤쪽이 아무값도 없더라도 ,기준 앞에 한칸 뒤에 한칸 처리되서 2가되는거 같아요..

아 설명하기 어려워요.ㅋㅋㅋㅋ
아무튼 bbb[0]이 한칸, bbb[1]이 두칸 값이 있던없던 bbb를 보여줘 aaa를 , 기준으로 나눴을때 칸수는? 이 되는거 같아요..

재대로 말하는거 맞나도 모르겠네 미친사람 된기분.ㅋㅋㅋ
split은 특정 문자(?)를 기준으로 해서 나뉘어진 string을 element로 갖는 array을 리턴
그래서 ','를 기준으로 해서 잘랐을 때 ''인 element가 하나 있으니 lenght는 1
쉽게 생각해서 split이 문자열을 리턴했다면 0이지만 배열을 리턴했기 때문에 1이라 보시면 되겠네요.
왕계란님께서 말씀하신 답변이 정답인듯 하네요...
var aaa = '';
var bbb = new Array();
var ccc = new Array('');

각각 length 를 구해보면
aaa.length ==> 0
bbb.length ==> 0
ccc.length ==> 1

즉 그냥 배열로만 선언되었다면 길이는 0 이지만
'' (빈값) 을 엘리먼트로 갖는 배열이기 때문에 1 이 출력되는게 맞네요...
오리님이 말씀하셨던 빈값과 null 의 차이도 있구요..
드됴 정답을 찾았네요...
늦었지만 답변해주신 모든분들 감사드립니당 ^^
© SIRSOFT
현재 페이지 제일 처음으로