JavaScript? ???? ??? ?? ?? DOM ?? (3)
? ????? ?? ??? ???? ?? ?? ?? ? ??, ?? ??? ???? ? ???? ? ??????? ??? ??? ?? ?????.
?? ID? ???? ?? ???? ??? ??(??)? ???? ??? ?????.
? ??? ?? ??? ?? ?? ???? ?????? ?? ??? ? ??? ????.
????? ?? ???? ??? ?? ???????. ?? ??? ??? ?? ?? ???? ????.
<script> /* 功能:查看本地數(shù)據(jù)中是否含有指定的對象(商品),根據(jù)id 參數(shù):id:商品的標(biāo)識 */ function checkObjByPid(id) { var jsonStr = cookieObj.get("datas"); var jsonObj = JSON.parse(jsonStr); //parse() 方法可解析一個日期時間字符串,并返回 1970/1/1 午夜距離該日期時間的毫秒數(shù)。 var isExist = false; for(var i = 0, len = jsonObj.length; i < len; i++) { if(jsonObj[i].pid == id) { isExist = true; break; } } return isExist; //return false; } /* 功能:更新本地數(shù)據(jù) 參數(shù):arr 數(shù)組對象 返回一個值:最新的本地轉(zhuǎn)換后的數(shù)組對象 * */ function updateData(arr) { var jsonStr = JSON.stringify(arr); cookieObj.set({ name: "datas", value: jsonStr }); jsonStr = cookieObj.get("datas"); return JSON.parse(jsonStr); } /* 獲取商品的總數(shù)量 返回:數(shù)字 */ function getTotalCount() { /*循環(huán)遍歷數(shù)組,獲取每一個對象中的pCount值相加總和*/ var totalCount = 0; //默認(rèn)為0 var jsonStr = cookieObj.get("datas"); var listObj = JSON.parse(jsonStr); for(var i = 0, len = listObj.length; i < len; i++) { totalCount = listObj[i].pCount + totalCount; } return totalCount; } /* 更新本地數(shù)據(jù)根據(jù)pid id:商品的標(biāo)識 */ function updateObjById(id, num) { var jsonStr = cookieObj.get("datas"); var listObj = JSON.parse(jsonStr); for(var i = 0, len = listObj.length; i < len; i++) { if(listObj[i].pid == id) { listObj[i].pCount = listObj[i].pCount + num; break; } } return updateData(listObj) } /* 獲取本地數(shù)據(jù) 返回 數(shù)組對象 * */ function getAllData() { var jsonStr = cookieObj.get("datas"); var listObj = JSON.parse(jsonStr); return listObj; } function deleteObjByPid(id) { var lisObj = getAllData(); for(var i = 0, len = lisObj.length; i < len; i++) { if(lisObj[i].pid == id) { lisObj.splice(i, 1); //splice() 方法向/從數(shù)組中添加/刪除項目,然后返回被刪除的項目。 break; } } updateData(lisObj); return lisObj; } </script>
??:
JSON.stringify
JavaScript ?? JavaScript Object Notation(Json) ???? ?????.
??: ??JSON.stringify(value [, replacement] [, space])
value: ?? ?????. ??, ??? ? ???? ???? ?????. ???: ?? ?? ?????. 2?? ???? ??????, ??? ????, ? ??? ?????.
?? 1: replacement? ??? ?? ?? ??? ?? ? ?? ???? ?? ??? ??? ? ? ????. ????? ???? ??? ?-? ??? ?????. ??? ?? ? ?? ????? ? ?? ????? ?? ???? ? ?? ????? ?? ?? ????, ???? ??? ? ?? ????? ?? ??? ?????. , ?????.
???? 2: replacement? ???? ?? ?? ?????. ?, ???? ? ??(?? ??)? ??? ???? ???? ????.
space: ???? ???? ?.
1) ??? ?? ???? ?? ??? ?? ?? ?????.
2) ??? ?? ????? ?? ?? ?????. ?? 10?? ? ?? ???? 10??? ???? 10???.
3) ??? ??? ???? "t"? ?? ????? ??? ?? ? ?? ??? ??? ??? ????.
4) ??? ???? ?? ?? ??? ? ? ?? ? ???? ?????. ?? ?? ??? 10????.
server.js ??? ??? ?? JavaScript ??? ?????.
<script type="text/javascript" src="server.js"></script>
? ?? ?? ??? ?? ?? ?? HTML ????? ?????.