1. prototype을 사용한 자바스크립트 클래스 만들기
① 클래스 정의
○ function을 사용하여 클래스를 생성한다
- 함수 끝에 ;(세미콜론)을 찍어주는 것이 정석
- ;을 적지 않아도 괜찮다.
○ 자바에서는 생성자를 가지고 값을 초기화한 것
[member.js]
Member = function(id,name,addr){
this.id = id;
this.name = name;
this.addr = addr;
};
② 객체 생성 가능
○ 클래스 생성 후에는 객체를 생성할 수 있다.
○ new를 이용하여 객체 생성
[memberClass]
<script type="text/javascript" src="<%=cp%>/data/js/member.js"></script>
var member = new Member("songhee", "천송이", "서울");
var member2 = new Member("suzi", "배수지", "서울");
③ 클래스 안에 함수 정의
○ 새로운 함수를 추가할 때는 prototype을 사용한다
○ setter 생성
- 자바에서는 메소드로 값을 초기화한 것
[member.js]
Member.prototype.setValue = function(id,name,addr){
this.id = id;
this.name = name;
this.addr = addr;
};
○ getter 생성
- 값을 리턴하는 함수에서는 return을 사용
[member.js]
Member.prototype.getValue = function(){
return "[" + this.id + "]" + this.name + "(" + this.addr + ")";
};
④ 함수 사용하여 객체를 생성
○ 객체 사용
- 변수명.파라미터
- var member = new member("id","name","addr");
member.id / member.name / member.addr
[memberClass]
var member = new Member("songhee", "천송이", "서울");
member.setValue("hyolee", "이효리", "제주도");
var memberInfo = member.getValue();
예제 1 자바스크립트로 객체를 만드는 방법
① log.js
○ 메모리에 객체 생성하기 위해 작성
function log(msg) {
var consolE = document.getElementById("console");
consolE.innerHTML += msg + "<br/>";
}
② member.js
//Member 클래스
Member = function(id,name,addr){
this.id = id;
this.name = name;
this.addr = addr;
};
//클래스 안에 함수 정의(setter)
Member.prototype.setValue = function(id,name,addr){
this.id = id;
this.name = name;
this.addr = addr;
};
//클래스 안에 함수 정의(getter)
Member.prototype.getValue = function(){
return "[" + this.id + "]" + this.name + "(" + this.addr + ")";
};
③ memberClass.jsp
<script type="text/javascript" src="<%=cp%>/data/js/log.js"></script>
<script type="text/javascript" src="<%=cp%>/data/js/member.js"></script>
<script type="text/javascript">
//자바스크립트로 객체를 만드는 방법
function memberClass(){
//1.member.js 없이 실행(메모리에 객체 생성)
//객체 생성
var object1 = {};
object1.id = "suzi";
object1.name = "배수지";
log("log1: " + object1.id + ", " + object1.name);
//2.member.js 없이 실행(메모리에 객체 생성)
var object2 = {};
object2.id = "aaa";
object2.name = "송지효";
log("log2: " + object2.id + ", " + object2.name);
//3.Member 클래스 객체 생성 후 변수명으로 호출
var member = new Member("songhee", "천송이", "서울");
log("member1: " + member.id + ", " + member.name + "," + member.addr );
//4.setter로 초기화하고 변수로 호출
member.setValue("hyolee", "이효리", "제주도");
log("member2: " + member.id + ", " + member.name + "," + member.addr );
//5.getter로 호출
var memberInfo = member.getValue();
log("member.getValue(): " + memberInfo);
}
window.onload = function(){
memberClass();
}
</script>
2. JSON 표기법
○ JSON(Javascript Object Noatation)
- 서로 다른 프로그래밍 언어 간에 데이터를 교환하기 위한 표기법
① 표기법
○ [ { }, { }, { } ]
이름 : 값 → {이름1 : 값1, 이름2 : 값2, 이름3 : 값3}
배열 표기 → [ {이름1 : 값1, 이름2 : 값2, 이름3 : 값3},
{이름1 : 값1, 이름2 : 값2, 이름3 : 값3},
{이름1 : 값1, 이름2 : 값2, 이름3 : 값3} ]
예제 2 JSON을 사용
① useJson.jsp
<style type="text/css">
#result {
border: 1px dotted #0000ff;
}
div {
margin: auto;
width: 600px;
height: 100%;
}
</style>
<script type="text/javascript">
function useJson(){
var userArray = [
{userId:"suzi",
name:"배수지",
age:25,
phone:[{home:["031-111-1111","032-222-2222"]},
{office:["02-333-3333","051-444-4444"]}
]
}, //배열[0]
{userId:"songhee",
name:"천송이",
age:38,
phone:[{},{}]
}, //배열[1]
{userId:"zhihyo",
name:"송지효",
age:37,
phone:[{},{}]
} //배열[2]
];
//한개의 데이터 읽기
var id = userArray[0].userId;
var name = userArray[0].name;
var age = userArray[0].age;
var homePhone1 = userArray[0].phone[0].home[0];
var homePhone2 = userArray[0].phone[0].home[1];
var officePhone1 = userArray[0].phone[1].office[0];
var officePhone2 = userArray[0].phone[1].office[1];
var printData = id + ", " + name + ", " + age + "<br/> ";
printData += "userArray[0].phone[0].home[0]:" + homePhone1 + "<br/>";
printData += "userArray[0].phone[0].home[1]:" + homePhone2 + "<br/>";
printData += "userArray[0].phone[1].office[0]:" + officePhone1 + "<br/>";
printData += "userArray[0].phone[1].office[1]:" + officePhone2 + "<br/>";
var resultDiv = document.getElementById("result");
resultDiv.innerHTML = printData;
}
window.onload = function(){
useJson();
}
</script>
</head>
<body>
<h1>JSON(Javascript Object Notation)</h1>
<hr/>
<div id="result"></div>
</body>
</html>
'STUDY > jQuery & Ajax' 카테고리의 다른 글
Ajax를 사용한 방명록 (0) | 2019.04.03 |
---|---|
Json을 사용해서 자바스크립트의 객체 생성 (0) | 2019.04.03 |
Document Object Model과 XML (0) | 2019.04.02 |
자바스크립트로 Ajax 구현 (0) | 2019.04.01 |
Ajax 간단한 예제 (0) | 2019.03.31 |
댓글