*Storage
- HTML5์์ ์ ๊ณต๋๋ ๊ฐ์ฒด
- ์ ์์์ ์ ๋ณด๋ฅผ ์ ์์์ web browser์ ์ ์ฅํ๋ ๊ธฐ์
- localStorage, sessionStorage ๋ ๊ฐ์ง๋ฅผ ์ ๊ณต
- window๊ฐ์ฒด์์ ์ ๊ณต
- ์ ์์ ๊ฐ์ธ์ ์๋ณํ๋ ๊ฐ์ธํ์ ์ฌ์ฉ๋จ
- ์ ์์ ์ปดํจํฐ์ ์ ๋ณด๊ฐ ์ ์ฅ๋๋ฏ๋ก ์ ์์๊ฐ ์ญ์ ,๋ณ๊ฒฝํ ์ ์์ (์ค์์ ๋ณด๋ ์ ์ฅX)
๋ฉฑ๋ฑ์ฑ: ์น์ ์ ์ํ ๋ชจ๋ ์ฌ๋์๊ฒ ๋์ผํ ํ๋ฉด์ด ๋์ผํ๊ฒ ๋ณด์
>๊ฐ์ธํ ์๋น์ค: ์ ์ํ ์ฌ๋์ด ๋ค๋ฅผ ๋ ๋ค๋ฅธ ํ๋ฉด์ด ๋ณด์ด๋ ๊ฒ / ๋ฉฑ๋ฑ์ฑ์์ ํน์ ๋ถ๋ถ์ ๋ฐ๊พธ๋ ๊ฒ
*sessionStorage
-์ ์์์ ์น ๋ธ๋ผ์ฐ์ ๊ฐ ์ด๋ ค์๋ ๋์์๋ง ์ ์ง๋๋ storage
-์ ์์์ ์ ๋ณด๋ฅผ ๋ค์ ๋ฒ ์ ์์ ์ฌ์ฉํ ์ ์์ (์น ๋ธ๋ผ์ฐ์ ๊ฐ ์ข
๋ฃ๋๋ฉด ์ญ์ ๋จ)
-ํค์ ๊ฐ์ ์์ผ๋ก ์ด๋ฃจ์ด์ ธ์์
-Cookie์ ๋ค๋ฅด๊ฒ ๋ค์ํ ๋ฐ์ดํฐํ์ ์ ์ฅํ ์ ์์
- ์ฟ ํค: ๋ฌธ์์ด๋ง ์ ์ฅ ๊ฐ๋ฅ
- storage: ๋ฌธ์์ด,์ซ์,๋ถ๋ฆฐ.. (์ฟ ํค์ ์์ ํธํ)
์ฌ์ฉ๋ฒ)
1. ๊ฐ์ฒด ์ป๊ธฐ
var ss=window.sessionStorage;
2. ๊ฐ ์ค์
ss.setItem(ํค,๊ฐ);
3.๊ฐ ์ป๊ธฐ
var value=ss.getItem( ํค );
4. ๊ฐ ์ญ์
ss.removeItem(ํค);
5. storage์ ์ ์ฅ๋ ๋ชจ๋ ๊ฐ ์ญ์
ss.clear();
*localStorage
-์ ์์์ ์น ๋ธ๋ผ์ฐ์ ๊ฐ ์ข
๋ฃ๋์ด๋ ์ ์ง๋๋ storage
-์ ์์์ ์ ๋ณด๋ฅผ ๋ค์ ๋ฒ ์ ์์ ์ฌ์ฉํ ์ ์์
-ํค์ ๊ฐ์ ์์ผ๋ก ์ด๋ฃจ์ด์ ธ์์
์ฌ์ฉ๋ฒ)
1. ๊ฐ์ฒด ์ป๊ธฐ
var ls=window.localStorage;
2. ๊ฐ ์ค์
ls.setItem(ํค,๊ฐ);
3.๊ฐ ์ป๊ธฐ
var value=ls.getItem( ํค );
4. ๊ฐ ์ญ์
ls.removeItem(ํค);
5. storage์ ์ ์ฅ๋ ๋ชจ๋ ๊ฐ ์ญ์
ls.clear();
<๋ณ์ ์์ด ์ฌ์ฉํ๋ ๊ฒฝ์ฐ>
1.๊ฐ ์ค์
localStorage.setItem(ํค,๊ฐ)
2. ๊ฐ ์ป๊ธฐ
var value=localStorage.getItem(ํค);
3. ๊ฐ ์ญ์
localStorage.removeItem( ํค )
4. ๋ชจ๋ ๊ฐ ์ญ์ .
localStorage.clear();
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<script type="text/javascript">
/* ์์ด๋ ์ ์ฅ์ด checked๋ ์ํ๋ก ๋ก๊ทธ์ธ์ด ๋๋ฆฌ๋ฉด ๋ค์ ๋ฒ์ ์ ์ํ์ ๋ text์ ์ด์ ์ ๋ฃ์ ์์ด๋๊ฐ ๋ค์ด์๊ณ , ์ฒดํฌ๋ฐ์ค ์ํ๊ฐ checked
* ์์ด๋ ์ ์ฅ์ด checked๋์ง ์์ ์ํ๋ก ๋ก๊ทธ์ธ ๋๋ฆฌ๋ฉด ๋ค์๋ฒ ์ ์ ์ ๋น์ด์๋ text์ checkbox ๋น์ด์๊ณ ํด์ ๋ ์ํ๋ก ๋ณด์ฌ์ผ ํจ
*/
window.onload=function(){ //ํ์ด์ง ๋ก๋ฉ ์
var chk = localStorage.getItem("chk");
if(chk){ //checked๋์ด์๋ค๋ฉด
var obj = document.frm;
obj.id.value=localStorage.getItem("id"); //์คํ ๋ฆฌ์ง์ ์ ์ฅ๋ ๊ฐ์ผ๋ก text ์ค์
obj.saveId.checked = chk; // ์คํ ๋ฆฌ์ง์ ์ ์ฅ๋ ๊ฐ์ผ๋ก checkbox ์ค์
}//end if
}//function
function saveId1(){
var obj = document.frm;
//์ฒดํฌ๋ฐ์ค๊ฐ ์ฒดํฌ ๋์๋์ง
if(obj.saveId.checked) { //checked์ด๊ณ
if(obj.id.value!="") //text๊ฐ empty๊ฐ ์๋๋ฉด
localStorage.setItem("id",obj.id.value); // ๋ก์ปฌ ์คํ ๋ฆฌ์ง id์ text๊ฐ ์ ์ฅ
}//end if
localStorage.setItem("chk",obj.saveId.checked);
} else { //checked๊ฐ ์๋๋ผ๋ฉด
localStorage.removeItem("id"); //๋ก์ปฌ ์คํ ๋ฆฌ์ง์์ ์ญ์
localStorage.removeItem("chk");
}//end else
}//saveId1
</script>
</head>
<body>
<form name="frm">
<input type="text" name="id" id="id" class="inputBox"/>
<input type="checkbox" name="saveId" id="saveId"/>์์ด๋ ์ ์ฅ
<br/>
<input type="button" value="๋ก๊ทธ์ธ" id="btn" class="btnBorder" onclick="saveId1()"/>
</form>
</body>
</html>
*JSON(JavaScript Object Notation)
- ๊ฐ๋ค์ ๊ฐ์ง ๊ฐ์ฒด
- ๋ฌธ์์ด, ์ซ์, ๋ถ๋ฆฐ, ํจ์๋ฅผ ์ ์ฅํ๊ณ ์ฌ์ฉํ ์ ์์
(ํจ์: first class function (data๋ก ์ทจ๊ธ))
- ์ด๋ฆ๊ณผ ๊ฐ์ ์
- ์ ์ฅ๋ ๋ฐ์ดํฐ๋ ์ด๋ฆ์ ์ฌ์ฉํ์ฌ ์ป์ ์ ์์ => parsing data
- JSONObject๊ณผ JSONArray๋ก ์ฌ์ฉํ ์ ์์
ํ์)
{ ์ด๋ฆ: ๊ฐ,,,,,,, }
๊ฐ:
- ๋ฌธ์์ด – “a”, ‘a’
- ์ซ์ – 3, 3.3
- ๋ถ๋ฆฐ – true, false
- ํจ์ – function (){
}
- javascript์์ ๋ฌธ์์ด ํ์์ JSONObject๋ฅผ ์์ฑํด์ ์ฌ์ฉํ ๋์๋ eval()ํจ์๋ฅผ ์ฌ์ฉํจ (evaluation)
์ฌ์ฉ๋ฒ)
var obj=eval(“(“+ data+ ”)”);
//data: json๊ฐ์ฒด ํ์์ ๋ฌธ์์ด
// "{ ์ด๋ฆ:๊ฐ, ์ด๋ฆ:๊ฐ, ,,,, }"
*JSONObject
- JSON์ ๋ฌธ๋ฒ์ผ๋ก ๋ง๋ค์ด์ง ๊ฐ์ ๊ฐ์ง ๊ฐ์ฒด
- ์ฌ๋ฌ ๊ฐ์ ๊ฐ์ ๋ฌถ์ด์ ์ฌ์ฉํ ์ ์์
ํ์)
{ ์ด๋ฆ: ๊ฐ,,,, }
์ฌ์ฉ๋ฒ)
- ๋ฌธ์์ด ์ฌ์ฉ
- eval ํจ์ ์ฌ์ฉ : eval()๋ฅผ ์ฌ์ฉํ์ฌ ๋ฌธ์์ด์ JSONObject ๋ก ์์ฑ
1. JSONObjectํ์์ ๋ฌธ์์ด์ ์ ์ธ
var data=“{ ์ด๋ฆ : ๊ฐ,,, }”;
2. JSONObject ์์ฑ
var jsonObj=eval(“(“+ data + ”)”); - { }๋ฅผ ์ด์ด์ ์ฌ์ฉ : JSONObject ํ์์ผ๋ก ๋ฐ์ดํฐ ์์ฑ
var jsonObj={ ์ด๋ฆ:๊ฐ ,,,, } ;
-๊ฐ ์ป๊ธฐ
-๊ฐ: ๋ฌธ์์ด, ์ซ์, ๋ถ๋ฆฐ
JSON๊ฐ์ฒด๋ช
.์ด๋ฆ
-ํจ์
JSON๊ฐ์ฒด๋ช .์ด๋ฆ();
-๊ฐ ์ถ๊ฐ
JSON๊ฐ์ฒด๋ช .์ถ๊ฐํ ์ด๋ฆ=๊ฐ;
-๊ฐ ์ญ์
delete JSON๊ฐ์ฒด๋ช .์ญ์ ํ ์ด๋ฆ;
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<script type="text/javascript">
function useJson(){
//JSONObject์ ์ฌ์ฉ
//1.JSONObject ํํ์ ๋ฌธ์์ด ์ฌ์ฉ (JavaScript Object Notation)
// "{์ด๋ฆ:๊ฐ, ,,,}"
var data = "{name:'์คoo', age:20 }"; // ์๋ฐ์ดํ๋๊น ๋ฌธ์์ด
//alert(typeof(data));
//evalํจ์๋ฅผ ์ฌ์ฉํ๋ฉด ์
๋ ฅ๋ ๋ฌธ์์ด>๊ฐ์ฒด๋ก ์์ฑ
var jsonObj = eval( "("+data+ ")" ); //evaluation
//alert(typeof(jsonObj));
//2. ์ฌ์ฉ parsing(์๋ผ๋ค๊ฐ ์ฐ๋ ๊ฒ) : json๊ฐ์ฒด๋ช
.์ด๋ฆ < ๊ฐ์ ๊บผ๋ด์ ์ธ ์ ์์
//alert(jsonObj.name+" / "+typeof(jsonObj.age));
var json ={name:"๋ฐoo",age:25,addr:function(){return "์์ธ์ ๊ฐ๋จ๊ตฌ ์ญ์ผ๋"}};
//alert(typeof(json));
var obj=document.frm;
//JSONObject์ ๊ฐ์ parsingํ์ฌ HTML Form Control์ ์ค์
//๊ฐ ์ญ์ : delete json๊ฐ์ฒด๋ช
.์ด๋ฆ;
alert("์ญ์ ์ ์ด๋ฆ: "+json.name);
delete json.name;
alert("์ญ์ ํ ์ด๋ฆ: "+json.name); //undefined
obj.name.value=json.name;
obj.age.value=json.age;
//ํจ์๋ช
๋ง ์ฌ์ฉํ๋ฉด ํจ์์ ๋ด์ฉ์ด ๋ฌธ์์ด๋ก ์ถ๋ ฅ
obj.addr.value=json.addr; //ํจ์๋ช
๋ง ์ฐ๋ฉด ํจ์ ๋ด์ฉ์ด ๋ฌธ์์ด๋ก ๋์ค๋๊น ์ฃผ์
//ํจ์ ๊ธฐํธ๋ฅผ ์จ์ฃผ๋ฉด -ํจ์๋ช
() // ํจ์๊ฐ ํธ์ถ๋์ด ์ผ์ ํจ
obj.addr1.value=json.addr();
//๊ฐ ์ถ๊ฐ: ์์ฑ๋ JSONObject์ ๊ฐ ์ถ๊ฐ jsonObject๋ช
.์ด๋ฆ=๊ฐ;
json.height=182.3;
//alert("ํค๋: "+json.height);
//๊ฐ ์ญ์ : delete json๊ฐ์ฒด๋ช
.์ด๋ฆ;
delete json.name;
alert("์ญ์ ํ ์ด๋ฆ: "+json.name);
}//useJson
</script>
</head>
<body>
<input type="button" value="JSONObject" class="btnBorder" onclick="useJson()"/>
<form name="frm">
<input type="text" name="name" class="inputBox"/><br>
<input type="text" name="age" class="inputBox"/><br>
<input type="text" name="addr" class="inputBox"/><br>
<input type="text" name="addr1" class="inputBox"/><br>
</form>
</body>
</html>