함수의 모든 파라미터들을 전부 한꺼번에 싸잡아서 다루고 싶을 때 쓸 수 있는 arguments라는 키워드가 있습니다. function 함수(a,b,c){ console.log(arguments) } 함수(1,2,3); 이렇게 하면 콘솔창에 [1,2,3]가 출력됩니다. 응용하자면, function 함수(a,b,c){ console.log(arguments[0]) console.log(arguments[1]) console.log(arguments[2]) } 함수(2,3,4); function 함수(a,b,c){ for (var i = 0; i < arguments.length; i++){ console.log(arguments[i]) } } 함수(2,3,4); 위 두 코드의 결과가 같게 나옵니다.
1. 그냥 쓰거나 함수 안에서 쓰면 this는 window를 뜻합니다. function 함수(){ console.log(this) } 함수(); this의 값은 window로 출력됨. (window는 모든 전역변수, 함수, DOM을 보관하고 관리하는 전역객체) 2. 메소드 안에서 쓰면 this는 메소드를 가지고 있는 오브젝트를 뜻합니다. var 오브젝트1 = { data : 'Kim', 함수 : function(){ console.log(this) } } 오브젝트1.함수(); this의 값은 메소드를 가지고 있는 오브젝트1을 뜻합니다. 3. constructor 안에서 쓰면 constructor로 새로생성되는 오브젝트를 뜻합니다. function box(){ this.이름 = 'Kim' } var 오브젝..
Document Object Model : DOM Javascript는 HTML 조작에 특화된 언어입니다. 그런데 HTML과 Javascript는 다른 언어입니다. 그래서 Javascript에선 html을 직접 해석하고 조작할 수 없습니다. Javascript가 HTML 조작을 하기 위해선 HTML을 Javascript가 해석할 수 있는 문법으로 변환해놓면 됩니다. HTML을 Javascript가 좋아하는 array 혹은 object 자료형에 담아버리는게 좋지 않을까요? 그래서 실제로 브라우저는 HTML 페이지를 열어줄 때 HTML을 Javascript로 쉽게 찾고 바꾸기 위해 object와 비슷한 자료형에 담아줍니다. 예를 들어, 안녕하세요 브라우저는 이런 HTML을 발견하면 object 자료로 바꿔서..
array 자료는 순서개념이 있다보니 정렬도 가능합니다. 그냥 문자 가나다순으로 정렬하려면 .sort() 붙이면 됩니다. 어레이.sort(function(a, b){ return a - b }); 1. a, b는 array 안의 자료들입니다. 2. return 오른쪽이 양수면 a를 오른쪽으로 정렬해줍니다. 3. return 오른쪽이 음수면 b를 오른쪽으로 정렬해줍니다. 4. 그리고 array 안의 자료들을 계속 뽑아서 a, b에 넣어줍니다. 이렇게 동작해서 a - b 저렇게 쓰면 숫자순 정렬이 되는 것입니다. 예를 들면 a, b가 7과 3일 경우 7 - 3 하면 4가 남습니다. 4는 양수죠? 그러면 7을 3보다 오른쪽으로 보내줍니다. 그래서 숫자 오름차순 (123순) 정렬이 완성되는 것입니다. 그럼 ar..
서버에 GET, POST 요청을 할 때 새로고침 없이 데이터를 주고받을 수 있게 도와주는 간단한 브라우저 기능을 AJAX라고 한다. AJAX를 쓰면 새로고침 없이도 쇼핑몰 상품을 더 가져올 수도 있고 새로고침 없이도 댓글을 서버로 전송할 수도 있다. jQuery로 AJAX 요청하는 법 $.get('https://abcde12342.github.io/hello.txt'); $.get() 라는 함수를 쓰고 안에 url만 잘 기입하면 된다. GET $.get('https://abcde12342.github.io/hello.txt').done(function(data){ console.log(data) }); 가져온 데이터가 어디 들어있냐면, .done 아니면 .then 뒤에 붙이고 콜백함수넣고 파라미터 하나 ..