| 編程(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í)例名稱】 使用XML HTTP獲取天氣預(yù)報(bào) 【實(shí)例描述】 使用XMLHTTP可以訪問網(wǎng)絡(luò)上其他頁(yè)面,并獲取頁(yè)面的源代碼。本例通過XMLHTTP獲取天氣預(yù)報(bào)網(wǎng)頁(yè)的內(nèi)容并顯示在當(dāng)前窗體中。 【實(shí)例代碼】
<HTML>
<HEAD>
<TITLE>天氣預(yù)報(bào)-本站(www.xue51.com)</title>
<script language="javascript">
var xmlhttp;
function getWeather()
{
//創(chuàng)建異步對(duì)象
xmlhttp=new ActiveXObject("Msxml2.XMLHTTP");
//加載服務(wù)器-注意URL參數(shù)的使用
xmlhttp.Open("GET","http://tw.weather.yahoo.com/world_single.html?city=10101",false)
//異步對(duì)象事件掛鉤
xmlhttp.onreadystatechange=stateChange;
//發(fā)送請(qǐng)求-無參數(shù)
xmlhttp.Send(null);
}
function stateChange()
{
if(xmlhttp.readystate==4 && xmlhttp.status==200)
{
//獲取所有返回的數(shù)據(jù)
var data=xmlhttp.responseText;
//過濾自己需要的數(shù)據(jù)
var begin=data.indexOf("國(guó)際各別都市 start");
var end=data.indexOf("國(guó)際各別都市 end");
var weather=data.substring(begin+15,end);
//填充天氣內(nèi)容
document.getElementById("divweather").innerHTML=weather;
//顯示結(jié)果
document.getElementById("divweather").style.visibility="visible";
}
}
</script>
</HEAD>
<BODY onload="getWeather()">
<div align="center" id="today_time">今天的日期
</div>
<div align="center" id="divweather"></div>
<script language="javascript">
//設(shè)置顯示星期幾-用數(shù)組存儲(chǔ)
var x = new Array("星期日", "星期一", "星期二");
var x = x.concat("星期三","星期四", "星期五");
var x = x.concat("星期六");
var today_time = new Date(); //獲取今天的日期
//先后用中文表示的日期
document.all("today_time").innerText=today_time.getFullYear()+
'年'+(today_time.getMonth()+1)+'月'+today_time.getDate()+
'日\(chéng)n'+x[today_time.getDay()];
</script>
</BODY>
</HTML>
【運(yùn)行效果】  【難點(diǎn)剖析】 本例的難點(diǎn)是如何使用XMLHTTP。使用XMLHTTP具體步驟如下: (1)創(chuàng)建XMLHTTP對(duì)象,使用語(yǔ)句“new ActiveXObject(“Msxml2.XMLHTTP”)”; (2)打開要訪問的網(wǎng)頁(yè),使用“xmlhttp.Open”方法; (3)向指定網(wǎng)頁(yè)發(fā)送數(shù)據(jù),使用“xmlhttp.Send”方法; (4)獲取網(wǎng)頁(yè)的數(shù)據(jù),使用“xmlhttp.responseText”屬性。 【源碼下載】 為了JS代碼的準(zhǔn)確性,請(qǐng)點(diǎn)擊:使用XML HTTP獲取天氣預(yù)報(bào) 進(jìn)行本實(shí)例源碼下載
使用編程語(yǔ)言寫的程序,由于每條指令都對(duì)應(yīng)計(jì)算機(jī)一個(gè)特定的基本動(dòng)作,所以程序占用內(nèi)存少、執(zhí)行效率高。 |