본문 바로가기

제 8장. 함수 함수 의 예제 Script Sample 소스 Sample 실행 화면 1. call, apply 는 함수를 임시적으로 지정한 객체의 메서드로서 실행되게끔 하는 역할을 한다. call, apply은 첫번째 인자는 상속받을 객체를 지정하며, call은 두번째 인자부터 파라메터를 지정하는데 반면 apply는 배열형태로 모두 전달하게 된다. 첫번째 인자가 null, this 인 경우는 window 객체를 참조하여, 기본적인 함수 역할을 수행하게 된다. 위의 예에서 볼 수 있듯이 첫번째 인자에 객체를 지정하면, 그 객체의 메서드처럼 this.singer 접근이 가능하게 된다. 2. f2 함수는 파라메터를 지정하지 않았지만, 호출하는 부분에서 파라메터를 지정해서 보냈다면 arguments 객체에 저장되며, argum.. 더보기
제 7장. 객체와 배열 객체 의 예제 Script Sample 소스 Sample 실행 화면 1. 객체에 대해서 for ~ in을 사용하면, key 값을 얻을 수 있다. ( usa, korea ) 2. in 키워드는 해당 객체에 프로퍼티가 있는지를 알 수 있다. ( hasOwnProperty 와 같은 역할을 한다. ) 3. delete 키워드는 프로퍼티를 삭제한다. 위 그림처럼 27이 출력된 후 undefined 로 됨을 알 수 있다. 4. 메서드를 만드는 방법을 보여준다. 그리고, this 키워드를 사용하면, 객체 인스턴스의 프로퍼티 값에 접근 할 수 있다. 5. hasOwnProperty를 통해 해당 객체에 프로퍼티가 존재 하는지를 알 수 있다. in 키워드와 같은 역할을 하지만, hasOwnProperty는 프로퍼티이다. .. 더보기
제 6장. 문장 for in과 with의 예제 Script Sample 소스 Sample 실행 화면 1. for in 을 이용한 예제 1) for 와 다르게 for in 은 index를 사용하지 않고, 지정한 배열 및 객체의 프로퍼티를 이용하여 반복문을 수행한다. 2) for ( a in b ) 의 경우 b의 프로퍼티 key 값이 a 에 저장된다. 3) b[a] 를 이용하여 a 키에 대한 값을 얻을 수 있다. 4) 위의 예제는 key 및 value 값을 얻기 위해 간단한 for in 을 사용하였다. 2. with 예제 with는 반복적으로 긴 객체명을 작성하는 불편함을 해소 하기 위해 사용할 수 있다. 하지만, with를 사용하는 방법은 권장하지 않으며, with 보단 변수를 이용하여 접근하는 방식을 .. 더보기
제 5장. 표현식과 연산자 == 과 instanceof 와 for in 의 예제 Script Sample 소스 Sample 실행 화면 1. === (일치)와 달리 ==(동등)의 경우 값만 비교한다. 1) 숫자의 경우 : 문자열로 변환하여 비교하므로, 위의 예제에서도 같다는 결과가 나온다. 2) 문자열의 경우 : 참조타입, 기본타입도 아닌 문자열의 경우 문자열이 같은 형태로 되어 있다면 같다. 3) 참조타입의 경우 : 객체 및 배열은 참조타입이므로 2개의 객체의 형태가 같더라도 주소가 다르기 때문에 다르다. ( var obj = [1, 2]; 의 경우 obj 는 내부적으로 [1, 2] 값을 가지고 있는 공간의 주소를 참조한다. ) 2. instanceof 좌측 인스턴스가 우측 클래스에 의해 생성된 것인지를 확인하는.. 더보기
제 4장. 변수 변수란? 어떤 값과 연관된 이름으로 값을 저장하거나 포함한다. 1. 변수 타입 변수의 타입 제약이 엄격하지 않다. 값의 타입에 따라 변수의 타입이 변한다. 2. 변수 선언 var 변수명; // 선언 방식 var 변수명, 변수명; // 여러개의 변수 선언 var 변수명 = "hello"; // 선언과 함께 초기화 방법 2.1 변수 선언의 반복과 생략 var 구문으로 같은 이름의 변수를 여러번 선언해도 무방하다. 선언되지 않은 변수의 값을 읽으려할 경우 에러가 발생한다. 단, 암묵적으로 선언되는 변수는 항상 전역 변수로 선언된다. 3. 변수의 유효 범위 전역 변수의 범위는 전역적이다. 어떤 함수 안에서 선언된 변수는 오직 그 함수 몸체 안에서만 정의된다. = 지역변수 전역변수는 var 를 사용하지 않아도 되.. 더보기