編程(Programming)是編定程序的中文簡(jiǎn)稱(chēng),就是讓計(jì)算機(jī)代碼解決某個(gè)問(wèn)題,對(duì)某個(gè)計(jì)算體系規(guī)定一定的運(yùn)算方式,使計(jì)算體系按照該計(jì)算方式運(yùn)行,并最終得到相應(yīng)結(jié)果的過(guò)程。為了使計(jì)算機(jī)能夠理解(understand)人的意圖,人類(lèi)就必須將需解決的問(wèn)題的思路、方法和手段通過(guò)計(jì)算機(jī)能夠理解的形式告訴計(jì)算機(jī),使得計(jì)算機(jī)能夠根據(jù)人的指令一步一步去工作,完成某種特定的任務(wù)。這種人和計(jì)算體系之間交流的過(guò)程就是編程。 【實(shí)例名稱(chēng)】 讀寫(xiě)Cookie的函數(shù)JS代碼怎么寫(xiě) 【實(shí)例描述】 cookie是客戶(hù)端用來(lái)保存數(shù)據(jù)的對(duì)象,本例將所有有關(guān)Cookie的操作封裝成一個(gè)函數(shù)庫(kù)。讀者通過(guò)學(xué)習(xí)本例可以全面地掌握Cookie的使用。 【實(shí)例代碼】 <html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>標(biāo)題頁(yè)-本站(www.xue51.com)</title>
<script Language="JavaScript">
//獲得Cookie解碼后的值
function GetCookieVal(offset)
{
var endstr = document.cookie.indexOf (";", offset);
if (endstr == -1)
endstr = document.cookie.length;
return unescape(document.cookie.substring(offset, endstr));
}
//設(shè)定Cookie值-將值保存在Cookie中
function SetCookie(name, value)
{
var expdate = new Date();
//獲取當(dāng)前日期
var argv = SetCookie.arguments;
//獲取cookie的參數(shù)
var argc = SetCookie.arguments.length;
//cookie的長(zhǎng)度
var expires = (argc > 2) ? argv[2] : null;
//cookie有效期
var path = (argc > 3) ? argv[3] : null;
//cookie路徑
var domain = (argc > 4) ? argv[4] : null;
//cookie所在的應(yīng)用程序域
var secure = (argc > 5) ? argv[5] : false;
//cookie的加密安全設(shè)置
if(expires!=null) expdate.setTime(expdate.getTime()
+ ( expires * 1000 ));
document.cookie = name + "=" + escape (value)
+((expires == null) ? "" : ("; expires="+ expdate.toGMTString()))
+((path == null) ? "" : ("; path=" + path)) +
((domain == null) ? "" : ("; domain=" + domain))
+((secure == true) ? "; secure" : "");
}
//刪除指定的Cookie
function DelCookie(name)
{
var exp = new Date();
exp.setTime (exp.getTime() - 1);
var cval = GetCookie (name);
//獲取當(dāng)前cookie的值
document.cookie = name + "=" + cval + "; expires="+ exp.toGMTString();
//將日期設(shè)置為過(guò)期時(shí)間
}
//獲得Cookie的值-name用來(lái)搜索Cookie的名字
function GetCookie(name)
{
var arg = name + "=";
var argLen= arg.length;
//指定Cookie名的長(zhǎng)度
var cookieLen= document.cookie.length;
//獲取cookie的長(zhǎng)度
var i = 0;
while (i < cookieLen)
{
var j = i + argLen;
if (document.cookie.substring(i, j) == arg)
//依次查找對(duì)應(yīng)cookie名的值
return GetCookieVal (j);
i = document.cookie.indexOf(" ", i) + 1;
if (i == 0) break;
}
return null;
}
</script>
</head>
<body>
<input type=text name="txt1" value="搜索引擎是百度">
<input type=button value="保存Cookie"
onClick="javascript:SetCookie('sousuo', txt1.value)">
<input type=button value="獲取Cookie"
onClick=" javascript:alert(GetCookie('sousuo'))">
</body>
</html>
【運(yùn)行效果】
 【難點(diǎn)剖析】 本例的重點(diǎn)是“document.cookie”,在JavaScript中不管是保存Cookie還是獲取Cookie,都是使用“document.cookie”。具體的使用方法參考代碼中的注釋。 【源碼下載】 為了JS代碼的準(zhǔn)確性,請(qǐng)點(diǎn)擊:讀寫(xiě)Cookie的函數(shù) 進(jìn)行本實(shí)例源碼下載
使用編程語(yǔ)言寫(xiě)的程序,由于每條指令都對(duì)應(yīng)計(jì)算機(jī)一個(gè)特定的基本動(dòng)作,所以程序占用內(nèi)存少、執(zhí)行效率高。 |