編程(Programming)是編定程序的中文簡(jiǎn)稱,就是讓計(jì)算機(jī)代碼解決某個(gè)問題,對(duì)某個(gè)計(jì)算體系規(guī)定一定的運(yùn)算方式,使計(jì)算體系按照該計(jì)算方式運(yùn)行,并最終得到相應(yīng)結(jié)果的過程。為了使計(jì)算機(jī)能夠理解(understand)人的意圖,人類就必須將需解決的問題的思路、方法和手段通過計(jì)算機(jī)能夠理解的形式告訴計(jì)算機(jī),使得計(jì)算機(jī)能夠根據(jù)人的指令一步一步去工作,完成某種特定的任務(wù)。這種人和計(jì)算體系之間交流的過程就是編程。 【實(shí)例名稱】 同一用戶的來訪統(tǒng)計(jì)JS代碼怎么寫 【實(shí)例描述】 很多網(wǎng)站將用戶的登錄信息保存,這樣可以防止黑客的襲擊,也可以方便用戶的其他操作(如個(gè)性設(shè)置)。本例學(xué)習(xí)如何使用cookie保存用戶的訪問信息。 【實(shí)例代碼】 <html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>無標(biāo)題頁-本站(www.xue51.com)</title>
<script language="JavaScript">
var caution = false;
//將用戶的訪問信息保存在cookie中
function setCookie(name, value, expires, path, domain, secure)
{
var curCookie = name + "=" + escape(value) +
((expires) ? "; expires=" + expires.toGMTString() : "") +
((path) ? "; path=" + path : "") +
((domain) ? "; domain=" + domain : "") +
((secure) ? "; secure" : "")
if (!caution || (name + "=" + escape(value)).length <= 4000)
document.cookie = curCookie
else
if (confirm("COOKIE超過4kb的部分將會(huì)丟失!"))
document.cookie = curCookie
}
//根據(jù)COOKIE名獲取保存在cookie中的數(shù)據(jù)
function getCookie(name)
{
var prefix = name + "="
var cookieStartIndex = document.cookie.indexOf(prefix)
if (cookieStartIndex ==-1)
return null
var cookieEndIndex = document.cookie.indexOf(";",
cookieStartIndex + prefix.length)
if (cookieEndIndex == -1)
cookieEndIndex = document.cookie.length
return unescape(document.cookie.substring(cookieStartIndex +
prefix.length, cookieEndIndex))
}
//刪除cookie信息
function deleteCookie(name, path, domain)
{
if (getCookie(name)) {
document.cookie = name + "=" +
((path) ? "; path=" + path : "") +
((domain) ? "; domain=" + domain : "") +
"; expires=Thu, 01-Jan-70 00:00:01 GMT" }
}
//計(jì)算并顯示訪問次數(shù)
function fixDate(date)
{
var base = new Date(0);
var skew = base.getTime();
if (skew > 0)
date.setTime(date.getTime() - skew)
}
var now = new Date();
fixDate(now);
now.setTime(now.getTime() + 365 * 24 * 60 * 60 * 1000);
var accesses= getCookie("counter");
if (!accesses)
accesses=1 ;
else
accesses= parseInt(accesses) + 1;
setCookie("counter", accesses, now) ;
document.write("您好,謝謝您的您的第" + accesses+ "次光臨!") ;
</script>
</head>
<body>
</body>
</html> 【運(yùn)行效果】
 【難點(diǎn)剖析】 本例的重點(diǎn)是Cookie的保存和讀取二保存Cookie一般用“document.cookie=數(shù)據(jù)”的形式;讀取Cookie則需要在Cookie中根據(jù)保存的Cookie名字進(jìn)行搜索,本例中使用“document.cookie.indexOf”方法實(shí)現(xiàn)Cookie的查找。 【源碼下載】 為了JS代碼的準(zhǔn)確性,請(qǐng)點(diǎn)擊:同一用戶的來訪統(tǒng)計(jì)JS代碼 進(jìn)行本實(shí)例源碼下載
使用編程語言寫的程序,由于每條指令都對(duì)應(yīng)計(jì)算機(jī)一個(gè)特定的基本動(dòng)作,所以程序占用內(nèi)存少、執(zhí)行效率高。 |