第一篇:第4章 JavaScript 編程基礎(chǔ)實(shí)驗(yàn)
第4章 JavaScript 編程基礎(chǔ)
實(shí)驗(yàn) 1 猜數(shù)字游戲
實(shí)驗(yàn)說(shuō)明:
這是一個(gè)經(jīng)典的小游戲,由計(jì)算機(jī)隨機(jī)生成一個(gè) 1 到 100 的數(shù)字,然后由玩家去猜,計(jì)算機(jī)給出提示。若玩家可以 10 次以?xún)?nèi)猜中,算玩家贏(圖
4-1)。
圖
4-1 猜數(shù)字游戲
實(shí)驗(yàn)?zāi)康模?/p>
1.學(xué)會(huì)編寫(xiě) JavaScript 程序。
2.掌握訪問(wèn)網(wǎng)頁(yè)中特定元素的方法。實(shí)驗(yàn)準(zhǔn)備:
一臺(tái)安裝好 Visual Web Developer 的計(jì)算機(jī) 實(shí)驗(yàn)步驟:
1.使用 Visual Web Developer 創(chuàng)建一個(gè)網(wǎng)站,向網(wǎng)站中添加一個(gè) GuessNumber.htm 網(wǎng)頁(yè)。
2.根據(jù)圖
4-2 設(shè)計(jì)網(wǎng)頁(yè),其內(nèi)容如下:
注意兩個(gè)設(shè)定了 id 的 HTML 元素“”和“
3.請(qǐng)?jiān)诰W(wǎng)頁(yè)的
元素內(nèi)編寫(xiě) JavaScript 函數(shù) Guess(),實(shí)現(xiàn)游戲功能,整個(gè)代碼框架如下:要點(diǎn)提示:
(1)整個(gè)游戲的判斷邏輯需使用條件語(yǔ)句實(shí)現(xiàn)。
(2)可以使用 document.getElementById()方法訪問(wèn)文本框元素,通過(guò)其 value 屬性取出用戶(hù)所輸入的數(shù)。
(3)使用 document.getElementById()方法訪問(wèn)
(4)使用瀏覽器對(duì)象 location.Reload()方法重新刷新網(wǎng)頁(yè),以便重新開(kāi)始游戲。
4.設(shè)置“對(duì)不對(duì)”按鈕的單擊事件響應(yīng)函數(shù)為 Guess():
實(shí)驗(yàn) 2 動(dòng)態(tài)樣式設(shè)定
實(shí)驗(yàn)說(shuō)明:
本實(shí)驗(yàn)將設(shè)計(jì)一個(gè)網(wǎng)頁(yè),網(wǎng)頁(yè)上提供一個(gè)文字段落和四個(gè)單選鈕,分別表示四種樣式。用戶(hù)點(diǎn)擊選擇一種樣式,網(wǎng)頁(yè)動(dòng)態(tài)顯示出樣式應(yīng)用于文字段落的效果(圖
4-2)。
實(shí)驗(yàn)?zāi)康模?/p>
1.掌握給指定 HTML 元素動(dòng)態(tài)設(shè)定樣式的方法。2.能應(yīng)用盒子模型正確地布局網(wǎng)頁(yè)。
3.掌握為 HTML 控件編寫(xiě)事件響應(yīng)函數(shù)的方法。實(shí)驗(yàn)準(zhǔn)備: 安裝好 Visual Web Developer 的一臺(tái)計(jì)算機(jī).2 閱讀 4.7.3 節(jié),了解如何編程動(dòng)態(tài)設(shè)置 HTML 元素的樣式類(lèi)。實(shí)驗(yàn)步驟: 使用 Visual Web Developer 創(chuàng) 建 一 個(gè) 新 網(wǎng) 站,向 網(wǎng) 站 中 添 加 一 個(gè) 新 網(wǎng) 頁(yè) :
DynamicChangeStyleClass.htm。根據(jù)示例網(wǎng)頁(yè)定出網(wǎng)頁(yè)邏輯結(jié)構(gòu)和主體元素:
請(qǐng)按照?qǐng)D 4-2 的顯示將上述代碼中“①”和“②”所代表的樣式表規(guī)則填上,其中: ① :填寫(xiě)的樣式規(guī)則要使 div 盒子寬度合適(指大小剛好可以將段落文字分為多 行)并在瀏覽器窗口中居中顯示,由細(xì)實(shí)線邊框包圍。
② :填寫(xiě)的樣式規(guī)則要使盒子中的四個(gè)單選鈕在瀏覽器窗口中居中顯示。給頁(yè)面添加以下樣式類(lèi),這些樣式類(lèi)將被動(dòng)態(tài)地應(yīng)用于文字段落。完成以下的 JavaScript 函數(shù):
要點(diǎn)提示:
(1)使用 document.getElementById()獲取對(duì)文本段落的引用,然后通過(guò)此引用設(shè)置其className 屬性,就可以將指定的樣式類(lèi)應(yīng)用于文字段落。
(2)要恢復(fù)默認(rèn)的樣式,只需將文字段落的 className 屬性設(shè)為 null。5 將 changestyle()函數(shù)與四個(gè)單選鈕的 onclick 事件掛接上(注意函數(shù)參數(shù)值的設(shè)定),一個(gè)示例如下: 在瀏覽器中打開(kāi)網(wǎng)頁(yè),查看效果。
實(shí)驗(yàn)三 客戶(hù)端表單基本驗(yàn)證
第二篇:Zigbee基礎(chǔ)實(shí)驗(yàn)(6)—簡(jiǎn)單通信編程
Zigbee基礎(chǔ)實(shí)驗(yàn)(6)—簡(jiǎn)單通信編程
2011-07-25 20:06:19|分類(lèi): |字號(hào) 訂閱
實(shí)驗(yàn)中兩節(jié)點(diǎn)分別充當(dāng)開(kāi)關(guān)和電燈,通過(guò)在開(kāi)關(guān)節(jié)點(diǎn)上的操作來(lái)控制電燈節(jié)點(diǎn)。
源代碼: #include
#include “basic_rf.h”
#define RF_CHANNEL25// 信道選擇。
// 定義各個(gè)參數(shù)的值
#define PAN_ID0x2007//網(wǎng)絡(luò)ID
#define SWITCH_ADDR0x2520//開(kāi)關(guān)節(jié)點(diǎn)的地址
#define LIGHT_ADDR0xBEEF//電燈節(jié)點(diǎn)的地址
#define APP_PAYLOAD_LENGTH1//負(fù)載字節(jié)的長(zhǎng)度,信息的長(zhǎng)度。#define LIGHT_TOGGLE_CMD0//被傳送的開(kāi)關(guān)命令。
//節(jié)點(diǎn)狀態(tài)。0為空閑
#define IDLE0
#define SEND_CMD1
// 定義該節(jié)點(diǎn)所承擔(dān)的任務(wù)(開(kāi)關(guān)或電燈)
#define NONE0
#define SWITCH1
#define LIGHT2
#define APP_MODES2
static uint8 pTxData[APP_PAYLOAD_LENGTH];//發(fā)送數(shù)組
static uint8 pRxData[APP_PAYLOAD_LENGTH];//接收數(shù)組
static basicRfCfg_t basicRfConfig;
// 模式選擇菜單 static menuItem_t pMenuItems[] = {
“Switch”,SWITCH,“Light”,LIGHT
};static menu_t pMenu = {
pMenuItems,N_ITEMS(pMenuItems)
};
static void appLight();//實(shí)現(xiàn)電燈功能
static void appSwitch();//實(shí)現(xiàn)遠(yuǎn)程開(kāi)關(guān)功能
static uint8 appSelectMode(void);//功能選擇
static void appLight()//實(shí)現(xiàn)電燈功能 {
halLcdWriteLine(HAL_LCD_LINE_1, “Light”);
halLcdWriteLine(HAL_LCD_LINE_2, “Ready”);
// 初始化射頻模塊
basicRfConfig.myAddr = LIGHT_ADDR;//網(wǎng)絡(luò)地址
if(basicRfInit(&basicRfConfig)==FAILED){
HAL_ASSERT(FALSE);//初始化錯(cuò)誤處理
}
basicRfReceiveOn();//打開(kāi)接收功能。
//死循環(huán)
while(TRUE){
while(!basicRfPacketIsReady());
if(basicRfReceive(pRxData, APP_PAYLOAD_LENGTH, NULL)>0){//如果接收到數(shù)據(jù)
if(pRxData[0] == LIGHT_TOGGLE_CMD){
halLedToggle(1);//開(kāi)關(guān)改變狀態(tài)
}
}
}
}
static void appSwitch()//實(shí)現(xiàn)遠(yuǎn)程開(kāi)關(guān) {
halLcdWriteLine(HAL_LCD_LINE_1, “Switch”);//屏幕輸出
halLcdWriteLine(HAL_LCD_LINE_2, “Joystick Push”);
halLcdWriteLine(HAL_LCD_LINE_3, “Send Command”);
pTxData[0] = LIGHT_TOGGLE_CMD;//需要發(fā)送的數(shù)據(jù)
// 初始化
basicRfConfig.myAddr = SWITCH_ADDR;
if(basicRfInit(&basicRfConfig)==FAILED){
HAL_ASSERT(FALSE);//出錯(cuò)處理
}
basicRfReceiveOff();//關(guān)閉接收機(jī)
// 死循環(huán)
while(TRUE){
if(halJoystickPushed()){//當(dāng)按鍵按下時(shí)觸發(fā)
basicRfSendPacket(LIGHT_ADDR, pTxData, APP_PAYLOAD_LENGTH);//發(fā)送命令
}
}
}void main(void)
{
uint8 appMode = NONE;//模式變量
// 設(shè)置網(wǎng)絡(luò)ID和信道
basicRfConfig.panId = PAN_ID;
basicRfConfig.channel = RF_CHANNEL;
basicRfConfig.ackRequest = TRUE;
//初始化其他設(shè)備
halBoardInit();
halJoystickInit();
// 初始化射頻模塊
if(halRfInit()==FAILED){
HAL_ASSERT(FALSE);
}
halLedSet(1);//LED1燈亮,提示節(jié)點(diǎn)已上電
utilPrintLogo(“Light Switch”);
// 等待用戶(hù)按下S1進(jìn)入菜單
while(halButtonPushed()!=HAL_BUTTON_1);
halMcuWaitMs(350);//延時(shí)
halLcdClear();//清屏
// 設(shè)置該節(jié)點(diǎn)是開(kāi)關(guān)還是電燈
appMode = appSelectMode();
halLcdClear();
// 模塊開(kāi)始工作
if(appMode == SWITCH){
appSwitch();
}
else if(appMode == LIGHT){
appLight();
}
//如果沒(méi)有定義該節(jié)點(diǎn)的功能,則LED燈不斷閃爍
HAL_ASSERT(FALSE);
}
static uint8 appSelectMode(void)//模式選擇 {
halLcdWriteLine(1, “Device Mode: ”);
return utilMenuSelect(&pMenu);//通過(guò)調(diào)用頭文件實(shí)現(xiàn)功能選擇
}
實(shí)驗(yàn)總結(jié):
這個(gè)實(shí)驗(yàn)雖然功能非常簡(jiǎn)單,只是通過(guò)按下開(kāi)關(guān)節(jié)點(diǎn)的按鍵來(lái)控制電燈節(jié)點(diǎn)LED的亮或滅,但是通過(guò)這個(gè)實(shí)驗(yàn)可以了解節(jié)點(diǎn)間通信的基本思路。
原代碼中有許多可有可無(wú)的冗余代碼,上面的代碼經(jīng)過(guò)代碼中很多都是調(diào)用頭文件,在這里就不在一一羅列,只在代碼注釋中注明該調(diào)用的功能。這些調(diào)用都是一些非常簡(jiǎn)單的操作,寫(xiě)入頭文件調(diào)用是為了增加代碼可讀性。
baseRF通信基本流程
1.初始化網(wǎng)絡(luò)地址,打開(kāi)接收機(jī)或關(guān)閉接收機(jī)。
2.初始化basicRfConfig,確定網(wǎng)絡(luò)ID、信道、是否需要應(yīng)答、是否采用加密機(jī)制等。
3.初始化周邊設(shè)備,如時(shí)鐘、各個(gè)I/O口等。
4.事件的處理,如發(fā)送報(bào)文或接受報(bào)文后的數(shù)據(jù)處理等。
第三篇:javascript常用語(yǔ)句
<%
if username=“" then
response.write”“
Response.End
end if
if len(username)<6 then
response.write”“
Response.End
end if
if password=”“ then
response.write”“
Response.End
end if
if len(password)<6 then
response.write”“
Response.End
end if
if password<>re_password then
response.write”“
Response.End
end if
if not isnumeric(tel)then
response.write”“
Response.End
end if
if not IsValidEmail(email)then
response.write”“
Response.End
end if
if not isnumeric(qq)then
response.write”“
Response.End
end if
%>
response.write ”“
response.Write ”“
response.End


文檔為doc格式
聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶(hù)自發(fā)貢獻(xiàn)自行上傳,本網(wǎng)站不擁有所有權(quán),未作人工編輯處理,也不承擔(dān)相關(guān)法律責(zé)任。如果您發(fā)現(xiàn)有涉嫌版權(quán)的內(nèi)容,歡迎發(fā)送郵件至:645879355@qq.com 進(jìn)行舉報(bào),并提供相關(guān)證據(jù),工作人員會(huì)在5個(gè)工作日內(nèi)聯(lián)系你,一經(jīng)查實(shí),本站將立刻刪除涉嫌侵權(quán)內(nèi)容。
Java基礎(chǔ)編程題
【程序1】題目:古典問(wèn)題:有一對(duì)兔子,從出生后第3個(gè)月起每個(gè)月都生一對(duì)兔子,小兔子長(zhǎng)到第三個(gè)月后每個(gè)月又生一對(duì)兔子,假如兔子都不死,問(wèn)每個(gè)月的兔子總數(shù)為多少?1.程序分析: 兔子的......
Android編程基礎(chǔ)教學(xué)大綱
《Android編程初級(jí)》教學(xué)大綱 2013-11-21修訂版 一、 課程教學(xué)目標(biāo): (一) 知識(shí)目標(biāo) 本課程要求學(xué)生熟練使用LinearLayout線性布局及RelativeLayout相對(duì)布局完成UI界面設(shè)計(jì),靈......
socket編程實(shí)驗(yàn)心得體會(huì)
實(shí)驗(yàn)心得體會(huì) 在本次實(shí)驗(yàn)中,我通過(guò)對(duì)網(wǎng)絡(luò)課上所學(xué)知識(shí)的應(yīng)用,學(xué)到了很多實(shí)踐中的知識(shí)。并且加深了我對(duì)課本知識(shí)的理解和認(rèn)識(shí),在實(shí)驗(yàn)過(guò)程中,更容易記憶和深入理解各種協(xié)議的工作......
實(shí)驗(yàn)三GUI編程
實(shí)驗(yàn)三GUI編程 一、實(shí)驗(yàn)?zāi)康模?1、了解Java系統(tǒng)圖形用戶(hù)界面的基本工作原理和界面設(shè)計(jì)的步驟 2、了解圖形用戶(hù)界面的事件響應(yīng)機(jī)制. 3、掌握?qǐng)D形用戶(hù)界面各種常用的基本組件的......
編程入門(mén)基礎(chǔ)知識(shí)點(diǎn)總結(jié)
一、 常量 ? 數(shù)字常量 i. 普通數(shù)字:1,35,2.7 ii. 指數(shù)形式:2.45e-2等價(jià)于2.45*10-2 注意e大小寫(xiě)皆可,e前面的數(shù)字不能省,就算是1也不能省,后面的數(shù)字一定要是整數(shù) iii. 長(zhǎng)整型,單精......
學(xué)習(xí)電腦編程需要什么基礎(chǔ)
最近很多人都在問(wèn)如何學(xué)習(xí)編程。我覺(jué)得學(xué)習(xí)編程最重要的是入門(mén),如果你入門(mén)的時(shí)候有一個(gè)好的方法和思路,打下比較扎實(shí)的基礎(chǔ),對(duì)今后的編程工作是很有益處的。即使在學(xué)習(xí)新的編程......
Java編程語(yǔ)言基礎(chǔ)總結(jié)
第一章初識(shí)Java 1.程序是為了讓計(jì)算機(jī)執(zhí)行某些操作或解決某個(gè)問(wèn)題而編寫(xiě)的一系列有序指令的集合。 2.Java包括編程語(yǔ)言和相關(guān)的技術(shù)。 3.Java主要用于開(kāi)發(fā),桌面應(yīng)用程序和Int......
MFC編程實(shí)驗(yàn)個(gè)人總結(jié)報(bào)告
MFC編程實(shí)驗(yàn)總結(jié)報(bào)告 知識(shí)總結(jié)+個(gè)人心得 2011年暑期MFC編程實(shí)驗(yàn)報(bào)告 1 / 6 MFC編程實(shí)驗(yàn)個(gè)人總結(jié)報(bào)告 一、MFC類(lèi)、函數(shù)等知識(shí)小結(jié): 1、SetTimer (1, m_intLevel, NULL); 在......