$A()
배열함수이다.
음.. XML 상 배열을 끄집어 내서 배열 변수에 저장해주는 함수다.
아주 간단 할것 같지만 복잡하다.. (잉.. 간단하다고 ..ㅡ.,ㅡ 내머리가 나빠서 그런가보당)
select 객체는 option 배열을 하위 객체로 가진다. (XML 에서) 그래서 접근할적에
document.Form.Selectoptions[document.Form.Select.selectedIndex].value
이런식으로 해야 선택된 값을 가져올 수 있다.
option 배열로 저장되어있으므로 이렇게 접근을 해야하는것이다.
그런객체를
var someNodeList = $('lstEmployees').getElementsByTagName('option');
var nodes = $A(someNodeList);
이렇게 정의해놓고 nodes[1] 옵션이라는 객체 배열에 접근할 수 있게된다.
nodes.each(function(node){
alert(node.nodeName + ': ' + node.innerHTML);
});
이런식으로 사용하는데 무척 간결해 보이나 무척 어려워 보인다.
보통
for (i=1;i < nodes.length;i++) {
alert(nodes[i].nodeName + ':' + nodes[i].innerHTML );
}
이런식의 코드가 자바 스크립트에서 많이 쓰이는것 같은데 배열에 each 라는 낫선 함수를 사용했다.
이 부분은 루비 온 레일즈 라는 언어(?) 의 문법이라고 한다.
난 루비 온 레일즈를 알지도 못하고 쓸 계획도 전혀없다.. 꼭 필요한것이 아니라면 (허접이라그렇다. ^^)
nodes.each(function(node){ 는 역시 어려워보인다. 사람은 자신이 모르는것에 두려움을 느낀다고 했던가 ?? -- 루비 온 레일드 너무 무서워 ㅠ.ㅠ
프로토 타입의 배열은 자바스크립트의 배열과는 다르다.
이건 아주 좋다.
Enumerable 을 확장한것이라서 Enumerable 에서 사용할 수 있는 모든 속성과 메소드를 사용할 수 있으며 아래의 메소드를 추가로 사용할 수 있다.
* clear()
배열을 clear 하고 껍데기만 돌려준다.
* compact()
배열에서 유효한 값만 추출하여 새로운 배열을 만들어 리턴한다. 즐 알뱅이만 빼간다.
쭉정이에 해당하는넘들은 null 과 undefined 인넘들을 말하는것 같다.
* first()
배열에서 첫번재 넘을 꺼내온다.
반장을 호출하는것이다.
* flatten()
평평[반반]하게 하다. 라는 뜻의 영어 단어다 뭐하는 함수인 지는 모른다.
뭐 읽어 봤지만 몰르겠다.
중요하지 않다고 말할 수 없다 내가 모를뿐이다.
무엇인지 궁금하다면 밖에 링크에있는 설명문을 읽어보라..
아래에 이게 뭐하는함수인지 댓글을 달아 주면 내가 아주 조마워 할지도 몰른다.
만약 이즌 여자라면 뽀뽀도 해줄 용의가 잇다.
* indexOf(value)
배열에서도 이함수를 쓸수 있다니 이거 코드 값 넣놓고 읽어오는데 사용하면 좋을것 같다.
배열에서 필요한 값을 찾는 함수이다.
보통 for 루프를 돌리고 그 않에 if 문을 써서 구현하는데 메소드로 한방에 구현하면 편하겠군
* inspect()
배열 로 보이기 위해서 "[" 와 "]"을 각각 처음과 끝에 첨부한다.
이것이 단순한 문자열을 첨부하는것인지 아니면 배열 객체로 인식 시켜주는지는 몰르겠다.
다만 설명서에서는 pluck 과 짝으로 씌였다.
var texts = localLinks.pluck('innerHTML');
var result = texts.inspect();
alert(result);
이런식으로 사용했고 결과는 "['aaa','bbb','ccc','ddd']" 이런식으로 나왓는데 inspect 에서 는 "[" 와 "]" 만 붙여 주었다.
* last()
first 함수와 반대되는 의미로 마지막 값을 가져온다.
* reverse([applyToSelf])
배열의 요소를 귀집어서 돌려준다.
applyToSelf 를 true 로 주거나 주지 않으면 배열의 값을 변경한다.
값을 false 로 준다면 새로운 배열을 만들어 배열이 뒤집힌 값을 넣어 주어 리턴한다.
즉 자기 자신이 변경 되어 지지 않는다는 말이다.
* shift()
배열에서 첫번째 값을 반환하고 지운다( 배열의 값이 하나 줄어든다)
음.. 이건 shift 의 본래의미와 다르다 사이즈 변경없이 좌에서 우로 혹은 우에서 좌로 데이타를 한칸씩 이동하는건데..
이건 스택에서 pop() 을 구현해 놓은것 같다.
배열 길이가 줄어 들지만 않는다면 shift 로 볼 수 도 있겠지만 이건 shift 는 아닌것 같다.
그렇지만 만든사람 마음이니깐 그냥 shift 로 써야 겠다..
꼬와도 만들능력이 없으므로 걍 쓸련다.
* without(value1,[value2, [value3....valueN]..]])
배열에서 복수개의 값을 지운다.
sql 에서 delete .. where aa in ()
뭐 이런식에 해당하는걸까.. ?
하여간 value 에 해당한는 값들을 배열에서 지운다는 것이 다 여러개를 동시에..
음 많다. 메소드가...
배열의 강력한 기능이 마음에 든다.
음 하하하하하하....
배열함수이다.
음.. XML 상 배열을 끄집어 내서 배열 변수에 저장해주는 함수다.
아주 간단 할것 같지만 복잡하다.. (잉.. 간단하다고 ..ㅡ.,ㅡ 내머리가 나빠서 그런가보당)
select 객체는 option 배열을 하위 객체로 가진다. (XML 에서) 그래서 접근할적에
document.Form.Selectoptions[document.Form.Select.selectedIndex].value
이런식으로 해야 선택된 값을 가져올 수 있다.
option 배열로 저장되어있으므로 이렇게 접근을 해야하는것이다.
그런객체를
var someNodeList = $('lstEmployees').getElementsByTagName('option');
var nodes = $A(someNodeList);
이렇게 정의해놓고 nodes[1] 옵션이라는 객체 배열에 접근할 수 있게된다.
nodes.each(function(node){
alert(node.nodeName + ': ' + node.innerHTML);
});
이런식으로 사용하는데 무척 간결해 보이나 무척 어려워 보인다.
보통
for (i=1;i < nodes.length;i++) {
alert(nodes[i].nodeName + ':' + nodes[i].innerHTML );
}
이런식의 코드가 자바 스크립트에서 많이 쓰이는것 같은데 배열에 each 라는 낫선 함수를 사용했다.
이 부분은 루비 온 레일즈 라는 언어(?) 의 문법이라고 한다.
난 루비 온 레일즈를 알지도 못하고 쓸 계획도 전혀없다.. 꼭 필요한것이 아니라면 (허접이라그렇다. ^^)
nodes.each(function(node){ 는 역시 어려워보인다. 사람은 자신이 모르는것에 두려움을 느낀다고 했던가 ?? -- 루비 온 레일드 너무 무서워 ㅠ.ㅠ
프로토 타입의 배열은 자바스크립트의 배열과는 다르다.
이건 아주 좋다.
Enumerable 을 확장한것이라서 Enumerable 에서 사용할 수 있는 모든 속성과 메소드를 사용할 수 있으며 아래의 메소드를 추가로 사용할 수 있다.
* clear()
배열을 clear 하고 껍데기만 돌려준다.
* compact()
배열에서 유효한 값만 추출하여 새로운 배열을 만들어 리턴한다. 즐 알뱅이만 빼간다.
쭉정이에 해당하는넘들은 null 과 undefined 인넘들을 말하는것 같다.
* first()
배열에서 첫번재 넘을 꺼내온다.
반장을 호출하는것이다.
* flatten()
평평[반반]하게 하다. 라는 뜻의 영어 단어다 뭐하는 함수인 지는 모른다.
뭐 읽어 봤지만 몰르겠다.
중요하지 않다고 말할 수 없다 내가 모를뿐이다.
무엇인지 궁금하다면 밖에 링크에있는 설명문을 읽어보라..
아래에 이게 뭐하는함수인지 댓글을 달아 주면 내가 아주 조마워 할지도 몰른다.
만약 이즌 여자라면 뽀뽀도 해줄 용의가 잇다.
* indexOf(value)
배열에서도 이함수를 쓸수 있다니 이거 코드 값 넣놓고 읽어오는데 사용하면 좋을것 같다.
배열에서 필요한 값을 찾는 함수이다.
보통 for 루프를 돌리고 그 않에 if 문을 써서 구현하는데 메소드로 한방에 구현하면 편하겠군
* inspect()
배열 로 보이기 위해서 "[" 와 "]"을 각각 처음과 끝에 첨부한다.
이것이 단순한 문자열을 첨부하는것인지 아니면 배열 객체로 인식 시켜주는지는 몰르겠다.
다만 설명서에서는 pluck 과 짝으로 씌였다.
var texts = localLinks.pluck('innerHTML');
var result = texts.inspect();
alert(result);
이런식으로 사용했고 결과는 "['aaa','bbb','ccc','ddd']" 이런식으로 나왓는데 inspect 에서 는 "[" 와 "]" 만 붙여 주었다.
* last()
first 함수와 반대되는 의미로 마지막 값을 가져온다.
* reverse([applyToSelf])
배열의 요소를 귀집어서 돌려준다.
applyToSelf 를 true 로 주거나 주지 않으면 배열의 값을 변경한다.
값을 false 로 준다면 새로운 배열을 만들어 배열이 뒤집힌 값을 넣어 주어 리턴한다.
즉 자기 자신이 변경 되어 지지 않는다는 말이다.
* shift()
배열에서 첫번째 값을 반환하고 지운다( 배열의 값이 하나 줄어든다)
음.. 이건 shift 의 본래의미와 다르다 사이즈 변경없이 좌에서 우로 혹은 우에서 좌로 데이타를 한칸씩 이동하는건데..
이건 스택에서 pop() 을 구현해 놓은것 같다.
배열 길이가 줄어 들지만 않는다면 shift 로 볼 수 도 있겠지만 이건 shift 는 아닌것 같다.
그렇지만 만든사람 마음이니깐 그냥 shift 로 써야 겠다..
꼬와도 만들능력이 없으므로 걍 쓸련다.
* without(value1,[value2, [value3....valueN]..]])
배열에서 복수개의 값을 지운다.
sql 에서 delete .. where aa in ()
뭐 이런식에 해당하는걸까.. ?
하여간 value 에 해당한는 값들을 배열에서 지운다는 것이 다 여러개를 동시에..
음 많다. 메소드가...
배열의 강력한 기능이 마음에 든다.
음 하하하하하하....
