Javascript

Jinmin Kim·2020년 2월 7일
0

var a

재할당과 같은 변수명 사용 가능(debug에 어려움이 생길 가능성이있음)

let a

재할당 가능(같은 변수명 중복 불가능)

const a

재할당이 불가능

for(var a=0;a<10;a++){}

function a(){}


클로저(closure)

클로저(closure)는 내부함수와 밀접한 관계를 가지고 있는 주제다. 내부함수는 외부함수의 지역변수에 접근 할 수 있는데 외부함수의 실행이 끝나서 외부함수가 소멸된 이후에도 내부함수가 외부함수의 변수에 접근 할 수 있다. 이러한 메커니즘을 클로저라고 한다.


arguments

arguments는 함수안에서 사용할 수 있도록 그 이름이나 특성이 약속되어 있는 일종의 배열이다. arguments[0]은 함수로 전달된 첫번째 인자를 알아낼 수 있다. 또 arguments.length를 이용해서 함수로 전달된 인자의 개수를 알아낼 수도 있다. 이러한 특성에 반복문을 결합하면 함수로 전달된 인자의 값을 순차적으로 가져올 수 있다. 그 값을 더해서 리턴하면 인자로 전달된 값에 대한 총합을 구하는 함수를 만들 수 있다.

매개변수와 관련된 두가지 수가 있다. 하나는 함수.length, 다른 하나는 arguments.length이다. arguments.length는 함수로 전달된 실제 인자의 수를 의미하고, 함수.length는 함수에 정의된 인자의 수를 의미한다.

또한 arguments는 사실 배열은 아니다. 실제로는 arguments 객체의 인스턴스다.


jQuery $()의 의미

$()가 의미하는 것은 무엇이라고 물어보면 처음에 jQuery다 라고 대답합니다. 어떤 의미에서는 맞는 말일 수도 있지만 정확한 의미는 그냥 이름이 $인 함수 그 자체라고 할 수 있습니다. 해석하자면 $()는 $함수를 호출한 것이라고 할 수 있습니다. jQuery 라이브러리 내부를 살펴보면 아래와 같이 작성돼어 있는 것을 알 수 있습니다.


get, post

  • GET은 주소줄에 값이 ?뒤에 쌍으로 이어붙고 POST는 숨겨져서(body안에) 보내진다.
  • GET은 URL에 이어붙기 때문에 길이제한이 있어서 많은양의 데이터는 보내기 어렵고 POST는 많은 양의 보내기에도 적합하다.(역시 용량제한은 있지만)

get

GET은 Select적인 성향을 가지고 있습니다. GET은 서버에서 어떤 데이터를 가져와서 보여준다거나 하는 용도이지 서버의 값이나 상태등을 바꾸지 않습니다.

post

POST는 서버의 값이나 상태를 바꾸기 위해서 사용합니다. 글쓰기를 하면 글의 내용이 디비에 저장이 되고 수정을 하면 디비값이 수정이 된다. 이럴 경우에 POST를 사용합니다.

Property

event.target은 이벤트버블링의 가장 마지막에 위치한 최하위의 요소를 반환합니다. 즉 클릭된 요소를 기준으로 사용하는 경우 event.target을 사용합니다.
하지만event.currentTarget의 경우 이벤트가 바인딩된 요소, 해당하는 요소를 반환합니다.


.attr( attributeName )

값을 가져온다

.attr( attributeName, value )

값을 추가한다

profile
Let's do it developer

0개의 댓글