編程(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í)例名稱】 JavaScript制作哈希表 【實(shí)例描述】 在保存數(shù)據(jù)時(shí),使用哈希表可以存儲(chǔ)不同數(shù)據(jù)類型的值。本例通過JavaScript創(chuàng)建一個(gè)哈希表,學(xué)習(xí)如何保存數(shù)據(jù)字典(鍵/值對(duì))。 【實(shí)例代碼】 <html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>標(biāo)題頁-本站(www.xue51.com)</title>
<SCRIPT LANGUAGE="JavaScript">
//自定義哈希表類
function Hashtable()
{
this._hash = new Object(); // 創(chuàng)建Object對(duì)象
//哈希表的添加方法
this.add = function(key,value){
if(typeof(key)!="undefined"){
if(this.contains(key)==false){
this._hash[key]=typeof(value)=="undefined"?null:value;
return true;
} else {
return false;
}
} else {
return false;
}
}
//哈希表的移除方法
this.remove = function(key){delete this._hash[key];}
//哈希表內(nèi)部鍵的數(shù)量
this.count = function(){var i=0;for(var k in this._hash){i++;} return i;}
//通過鍵值獲取哈希表的值
this.items = function(key){return this._hash[key];}
//在哈希表中判斷某個(gè)值是否存在
this.contains = function(key){ return typeof(this._hash[key])!="undefined";}
//清空哈希表內(nèi)容的方法
this.clear = function(){for(var k in this._hash){delete this._hash[k];}} }
var myhash=new Hashtable(); //創(chuàng)建哈希表
myhash.add("name","張三"); //添加鍵和值
alert(myhash.item["name"]); //根據(jù)指定鍵顯示哈希表的值
</script>
</head>
<body>
</body>
</html>
【運(yùn)行效果】 【難點(diǎn)剖析】 本例的重點(diǎn)是如何創(chuàng)建哈希表的默認(rèn)方法,如增加鍵值對(duì)、移除鍵值對(duì)、查詢鍵值等。這些都通過“function”方法實(shí)現(xiàn)。要了解哈希表的構(gòu)造,請(qǐng)參考相關(guān)資料。 【源碼下載】 為了JS代碼的準(zhǔn)確性,請(qǐng)點(diǎn)擊:JavaScript制作哈希表 進(jìn)行本實(shí)例源碼下載
使用編程語言寫的程序,由于每條指令都對(duì)應(yīng)計(jì)算機(jī)一個(gè)特定的基本動(dòng)作,所以程序占用內(nèi)存少、執(zhí)行效率高。 |