소개
게시글
질문&답변
2021.01.08
왜 객체는 keys함수를 쓸 수 없나요?
function o() { } o.num1 = function () { document.write('call num1'); } o.prototype.num2 = function () { document.write('call num2') }; var a = new o(); a.num2(); o.num1(); a.num1(); 이런 원리 인것 같습니다. o라는 생성자 함수 안에 num1이 있고 o생성자 함수의 prototype에 num2가 들어가있습니다. 여기서 생성자함수로 a라는 빈 객체에 o로 만든 객체를 집어넣으면 o라는 생성자 함수의 내용과 생성자 함수의 prototype에 속해있는 num2만 들어가고 num1은 들어가지 않습니다. 고로 new 생성자함수(); 는 생성자 함수의 내용과 생성자함수 안에 있는 prototype만 상속해주고 o.~~로 생성된 함수는 상속해 주지 않습니다! 위의 코드가 적용된 이유는 this라는 객체의 특수성으로 성립 된 것 같습니다. 저도 헷갈렸는데 덕분에 완전이해했습니다 ㅋㅋ;
- 0
- 2
- 178
질문&답변
2021.01.07
저도 질문있습니데
if문을 적기전에 Func를 호출했기 때문에 이미 null 이 this로 바뀐 상태이지 않을까요?
- 0
- 1
- 170
질문&답변
2020.12.05
첫번째 예시문에서 값이 왜 5가 5번 반복되는지 궁금합니다.
이 글을 적고 다시한번 영상을 돌려보며 어느정도 이해가 됐습니다. 혹시라도 저와 비슷한 케이스가 있으실 것 같아 글로 남깁니다. 하지만 맨 처음 왜 5라는 값이 5번 나왔는지는 아직까지 모르겠습니다. ㅠㅠ var arr = [] for(var i = 0; i 1. for문이 실행되면 함수가 실행이 됩니다. arr[i] = function (id) { // 3. 여기서 내부함수를 리턴합니다. 리턴을 하면 그 함수는 수명을 다합니다. 그리고 arr[ i ]라는 배열에 내부함수가 들어가게 됩니다. arr [ function() { return id; } ] return function () { // 4. 외부함수의 매개변수가 id에서 for문에 있는 i로 입력되어 있으므로 내부함수의 id값을 리턴하라고 적힌 구문이 for문의 i값을 리턴하게 됩니다. 클로저로 인해 죽어있는 외부함수의 값에도 접근 할 수 있기 때문이죠. 그 결과 for문 i의 첫번째 값인 0이 arr배열에 입력되게 됩니다. 이후 i값은 for의 i++때문에 1씩 커지겠죠. 이걸 for 반복문으로 i값이 5보다 작을 때 까지 반복하게 되겠죠? return id; } }(i); //2. 외부함수의 인자 값으로 i가 들어가게 됩니다. i = 0이죠? 5. 그래서 결과적으로 var arr = [0,1,2,3,4] 가 됩니다. 6. 이후 나오는 for (var index in arr) { console.log(arr[index]()); //arr 배열의 값을 ();함수로 불러내면 0,1,2,3,4가 불러와 지겠죠. 사실 여기도 헷갈립니다 아직 ㅋㅋ 이전 for문에 있던 함수를 ();이것으로만 불러 낼 수 있는 이유를 모르겠어요. 일단 불러왔다 치고 보면 arr 배열의 모든 인자들을 각각 출력시키겠죠. } 7. 그래서 이걸 완벽히 똑같진 않지만 같은의미로 쉽게 풀어보면 var arr = [0,1,2,3,4] for (var index in arr) { console.log(arr[index]); } 이것과 같은 의미가 되는겁니다; 이렇게 뭔가 벽에 막히는 느낌이 들 때 마다 30살에 이걸 시작해도 될 까 싶기도 합니다만, 몸쓰는 일만 하여 남은거라곤 조금 버틸수 있는 푼돈과 망가져버린 몸이란걸 생각하면 어떻게든 배워보려고 합니다. 저보다 나이가 많으신 분들도 계시겠죠. 하지만 코딩을 배우려는 대다수는 저보다 어릴거라고 생각합니다. 늦었다고 생각하지 마세요. 사람수명은 점점 늘어갈 것이고 결국 끝까지 가는 사람은 나이가 어떻든 간에 개발자의 실력을 가지게 될 것입니다. 사람의 나이는 얼마나 늙었는지 알려주는 지표가 아니라 그 시간동안 어떤 것에 박식한 사람이 되었을까 궁금해 하게 하는 지표입니다. 뭐 이런데 이런걸 적는지 모르겠습니다.. 다 적고나니 이상한 이야기를 하고있군요 ㅋㅋ; 결코 포기하지 맙시다!
- 0
- 3
- 462
질문&답변
2020.12.02
grades 객체에 key값 show의 function을 지정하는 지점에서 오류가 발생합니다.
list 끝내고 ,(콤마) 안찍은거 확인했습니다 ㅋㅋ;;;
- 0
- 1
- 189