Recent Posts
Recent Comments
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
Tags
- ASP.NET
- Repeater
- 우편번호검색
- ORA-00942
- jsp
- ASP.NET Error
- RowCount 폐이징
- JDK1.5
- 페이지 간 게시
- JavaScript
- prototype
- ajax
- Oracle 10g
- 자바스윙
- json
- 이벤트 처리
- Ajax댓글
- ASP.NET 방명록
- DataList컨트롤
- 자동완성기능
- 테이블또는 뷰가 존재하지 않습니다.
- ASP.NET 회원가입
- 스크립트릿
- Ajax한글 처리문제
- hyperlink 쿼리스트링 바인딩
- SQL 명령어가 올바르게 종료되지 않았습니다.
- prototype.js
- 객체생성
- 웹표준
- XML
Archives
- Today
- Total
IT 쟁이
JavaScript 객체생성방법 3가지 본문
1.객체 리터럴
객체를 생성하는 가장 일반적이고 간편한 자바스크립트 객체 생성 방식이다. 리터럴 방식은 객체 리터럴을 의미하는 {} 내부에 프로퍼티와 메서드를 정의(포장)하는 구조이다.
var user = {
name : "kiuk",
age : 10 ,
showInfo : function (){
document.write("name =" +this.name+", age="+this.age);
}
}
user.showInfo();
리터럴 방식은 클래스를 정의함과 동시에 자동으로 인스턴스가 만들어진다. 즉 인스턴스를 만들기 위해 다른 작업을 해주지 않아도 된다. 하지만 다른 클래스 정의 방법과 달리 인스턴스를 하나 이상 만들 수 없는 단점을 가진다.
2. 함수방식(function)
함수방식에 경우 하나의 함수 내부에 프로퍼티와 메서드를 정의하는구조이다. 프로퍼티와 메서드는 반드시 자기 자신을 나타내는 this에 정의해야 한다.
javascript는 클래스를 만들기 위한 키워드가 따로 존재하지않는다. (ES6 에서는 지원함 -_-)
일반적으로 함수이름은 소문자로 시작하며, 클래스는 대문자로 시작한다.
function User(){
this.name = 'kiuk';
this.age = '10';
this.showInfo = function(){
document.write("name =" +this.name+", age="+this.age);
}
}
var user = new User();
user.showInfo();
3. 프로토타입(prototype) 방식
// 클래스 생성자
function User(){
this.name = "kiuk";
this.age = 10;
}
// 메서드 정의
User.prototype.showInfo = function(){
document.write("name =" +this.name+", age="+this.age);
}
var user = new User();
user.showInfo();
Comments