목록전체 글 (37)
보근은 참고 있다
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bU6Wn8/btrcACs1Roi/hOfy1ztNK3AQF2perTIS30/img.png)
JS의 함수 호출은 C/C++ 등의 엄격한 문법 체크를 하는 언어들과 달리 자유롭다. arguments 객체 JS는 함수를 호출할 때 함수 형식에 맞춰 인자를 넘기지 않더라도, 에러가 발생하지 않는다. function f(arg1, arg2) { console.log(arg1, arg2); } f();// undefined undefined f(1);// 1 undefined f(1, 2);// 1 2 f(1, 2, 3);// 1 2 함수에 정의된 파라미터가 들어오지 않으면 그냥 undefined로 할당해버린다. 반대로 함수에 정의된 인자의 개수보다 더 많은 인자가 들어오면 오류를 내지 않고 그 인자 값을 버려버린다. 작동이 멈추는 걸 최소화 하기 위한 JS의 특성 때문에 이런식으로 동작을 하지만, 런타..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cXYAbb/btrcs9qQiaJ/KCnnFwTaEKWC6mvzx9Tm0K/img.png)
함수의 생성 함수 선언문 함수 표현식 Function() 생성자 함수 //함수 선언문 function add1(x, y) { return x + y; } //함수 표현식 var add2 = function (x, y) { return x + y; }; // Function 생성자 함수 var add3 = new Function('x', 'y', 'return x + y'); console.log(add1(1, 2));// 3 console.log(add2(1, 2));// 3 console.log(add3(1, 2));// 3 위의 세 가지 방법으로 생성한 함수는 모두 똑같이 동작해서 같은 결과를 보여주지만, 동작 방식의 차이가 있다. 그중 하나가 함수의 호이스팅(Function Hoisting)이다. ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/GonbK/btrbrU2IKEU/ZCdvE12vQCycT9KWIk0rQ0/img.png)
배열은 특별한 형태의 객체이다. C나 Java의 배열과 기능은 비슷하지만, 크기가 가변적이며, 어떤 위치에 어떤 데이터 타입을 저장해도 에러가 생기지 않는다. 배열의 생성 배열 리터럴 객체의 중괄호처럼 배열의 리터럴은 대괄호 ( [ ] )를 이용하여 생성한다. 생성자 함수 new Array() 생성자 함수를 통해서 배열을 생성한다. var array1 = new Array();// 빈 배열 생성. console.log(array1);// [] console.log(array1.length);// 0 var array2 = new Array(3);// 길이가 3인 빈 배열 생성. console.log(array2);// [undefined, undefined, undefined] console.log(ar..