javascript 語法基礎(chǔ) 想學(xué)習(xí)js的朋友可以看看
更新時(shí)間:2009年12月16日 21:23:42 作者:
javascript 語法基礎(chǔ),都是一些大體的說下常見問題,適合有點(diǎn)別的程序基礎(chǔ)的朋友。
1:javascript區(qū)分大小寫
2:javascript每一條語句必須以";"結(jié)束,與C語言一樣
3:輸出:document.write("字符串")--->還可以輸出對(duì)應(yīng)的html標(biāo)記
4:改變窗體的顏色document.bgColor="red";
4:類型轉(zhuǎn)換:parseInt,parseFloat
5:隨機(jī)函數(shù):parseInt(Math.random()*90+10) 產(chǎn)生10--100的隨機(jī)數(shù)
5:彈出對(duì)話框:alert("提示的內(nèi)容")
5:if if...else,for,while,switch case
5:如何定義數(shù)組:
1)一維數(shù)組:
a=new Array();[定義數(shù)組時(shí)不需要指定長(zhǎng)度]
a[0]=1;
a[1]=1;
a[2]=1;
s=0;
for(i=0;i<a.length;i++)
{
s+=a[i];
}
2)二維數(shù)組:
city=new Array();
city[0]=new Array("湖北省","武漢");
city[1]=new Array("湖北省","仙桃");
city[2]=new Array("湖北省","洪湖");
city[3]=new Array("福建省","廣州");
city[4]=new Array("福建省","廈門");
city[5]=new Array("福建省","漳州");
5:javascript里面的函數(shù),及函數(shù)的調(diào)用,以及變量的作用范圍
6:彈出詢問對(duì)話框:confirm("詢問的內(nèi)容")
7:關(guān)閉窗體:window.opener=null;window.close();
8:打開一個(gè)窗體:
1)變量名=window.open("網(wǎng)頁名") 開一個(gè)新窗口
2)變量名=window.open("網(wǎng)頁名","名字","height=200px,width=300px")
3)打開窗口在屏幕中心彈出
t=window.open('dotest.htm','test','height=400px,width=500px');
t.moveTo((screen.width-500)/2,(screen.height-400)/2;
4)window.location="url" 不會(huì)打開一個(gè)新窗口
5)以模態(tài)窗體彈出
window.showModalDialog('dotest.htm','','dialogWidth=600px;dialogHeight=500px');
9:刷新一個(gè)窗體:
window.location.reload();
10:得到本窗體的表單元素的值:表單名.元素名.value
11:如何在另外一個(gè)窗體中來訪問前一個(gè)窗體的表單元素
A:模態(tài)窗體:
源窗體
1)window.showModalDialog('dotest.htm',window,'dialogWidth=600px;dialogHeight=500px');
注意名字一定要寫上window
2)window.dialogArguments.form1.txtuser.value
B:非模態(tài)窗體:
源窗體:
window.open
目的窗體:
window.opener.表單名.表單元素名.value
12:如何通過模態(tài)窗體向父窗體返回值:
源窗體:
t=window.showModalDialog(參數(shù))
alert(t)
目的窗體:
window.returnValue=值;window.opener=null;window.close();
13:如何在關(guān)閉子窗體的同時(shí),刷新父窗體
A)非模態(tài)窗口
源頁面:
window.open("頁面")
目的頁面:
window.opener.location.href=window.opener.location.href;
window.opener=null;window.close();
B)模態(tài)窗口
源頁面:
window.showModalDialog();-------有暫停代碼的用途
window.location.reload();
目的頁面:
window.opener=null;window.close();
14:設(shè)置狀態(tài)欄文字:window.status
15)轉(zhuǎn)換字符串為數(shù)值:parseInt("字符串"),parseFloat("字符串")
16)得到當(dāng)前的時(shí)間
var date=new Date();
document.write(date.toLocaleTimeString());
17):得到當(dāng)前的日期:
var date=new Date();
document.write(date.toLocaleDateString());
18):回到上一個(gè)頁面。注意不是刷新
history.go(-1)
19:改變某個(gè)對(duì)像的背景色
this.style.backgroundColor='yellow',
this.style.color='文字顏色'
20:設(shè)為首頁:
this.style.behavior='url(#default#homepage)';this.setHomePage('你的網(wǎng)頁');
21):指定讓代碼過幾分鐘后自動(dòng)反復(fù)執(zhí)行某個(gè)過程.
setInterval("js代碼",1000)
舉例:讓一個(gè)背景不斷變換[頁面閃得很厲害]
var index=1;
function ChangePic()
{
form1.p1.src=index+".jpg";
index=index+1;
if (index==4)
{
index=1;
}
}
setInterval("ChangePic(index)",1000);
改進(jìn):[先定義數(shù)組,把圖片預(yù)裝在內(nèi)存中]
pic=new Array(4);
pic[0]=new Image();
pic[1]=new Image();
pic[2]=new Image();
pic[3]=new Image();
pic[0].src="1.jpg";
pic[1].src="2.jpg";
pic[2].src="3.jpg";
pic[3].src="4.jpg";
function ClearText()
{
form1.p1.src=pic[index].src;
index=index+1;
if (index==4)
{
index=1;
}
}
setInterval("ClearText(index)",1000);
23):讓指定的代碼在多少時(shí)間之后執(zhí)行,但只執(zhí)行一次:
setTimeout("js代碼",1000);
24):清空一個(gè)表單中的所有文本框的文本
for(i=0;i<form1.elements.length;i++)
{
if (form1.elements[i].type=="text")
{
form1.elements[i].value="";
}
}
25)運(yùn)行一個(gè)可執(zhí)行文件:
obj=new ActiveXObject("wscript.shell");
obj.run("calc.exe");
26)Java script中的事件
A)onmouseove:鼠標(biāo)到達(dá)
B)onmouseout:鼠標(biāo)離開事件
C)onclick:單擊事件
D)onKeypress:鍵被按下時(shí),可以通過event.keyCode得到按下鍵的Asii碼
E)load事件:把代碼直接寫在<script></script>就相當(dāng)于Load事件
F)onsubmit:當(dāng)表單提交時(shí)會(huì)觸發(fā)表單提交事件
原理:當(dāng)用戶按下提交按鈕時(shí),會(huì)觸發(fā)表單的onsubmit事件。在這個(gè)事件里面根據(jù)用戶返回 的值(true,false)來決定是否需要提交表單,為true時(shí)會(huì)提交,為false不會(huì)提交所 以我們經(jīng)常會(huì)用一個(gè)函數(shù)來進(jìn)行數(shù)據(jù)驗(yàn)證。
舉例:
1)<marquee scrollamount=3 onmouseover=this.stop(); onmouseout=this.start();>文字移動(dòng)
2)<input type=text name=txtPostalCode onKeypress="if (event.keyCode < 45 || event.keyCode > 57) event.keyCode=0;">//只能輸入數(shù)字
3)使表格的選中的行出現(xiàn)不同的顏色
4)阻止用戶往文本框里面輸入值:
onkeypress="reuturn false"
說明:在表單元素的任何事件中,只要加上return false就不會(huì)觸發(fā)此事件
25:正則表達(dá)式:
像dos里面的通配符一樣,用來檢測(cè)一個(gè)輸入是否滿足特定的通配符
^:代表一行字符的開頭
$:代表一行字符的結(jié)束
[]:用來定義可接受的字符
[a-z]:表示可以接受小寫字母
[A-Z]:表示可以接受大寫字母
[0-9]:表示可以接受數(shù)字
[0-9,_,a]:表示可以接受數(shù)字,下劃線或字母a
[a-zA-Z0-9]:表示既可以接受英文字母,又可以接受數(shù)字
[^]:不能接受的字符
[^a-z]:不能接受英文字母
{}:用來定義必須輸入的字符個(gè)數(shù)
{3}:必須含有3個(gè)字符。
{4,8}:至少含有4個(gè)至多含有8個(gè)字符
[0-9]{3}:必須輸入3個(gè)數(shù)字
[a-zA-Z]{4,6}:必須輸入4到6位英文字母
{n,}:表示至少可以輸入n個(gè)字符。
[a-z]{0,}:表示可以接受0個(gè)或多個(gè)英文字母
[a-z]{1,}:表示可以接受至少1個(gè)英文字母
+:匹配前面字符的1次或多次-----相當(dāng)于{1,}
*:匹配前面字符的0次或多次-----相當(dāng)于{0,}
.:表示任意字符
舉例:
frm1.user.value.match("^[0-9a-zA-z]{5,8}$")
26:如何利用Js對(duì)表單元素進(jìn)行控制:
A:文本框:
1)得到文本框的文本:
表單名.表單元素名.value
2)獲得焦點(diǎn):
表單名.表單元素名.focus()
B:按鈕:
1)使按鈕不可用:
表單名.按鈕名.disabled=true (true,不可用;false 可用)
2)使按鈕不可見:
表單名.按鈕名.style.display="none" 不可見
表單名.按鈕名.style.display="" 可見
if (表單名.按鈕名.style.display=="") 如果可見
C)單選框:
得到單選框所選中的值 [各個(gè)單選框的名稱一定要一樣,值不一樣]
for(i=0;i<單選框數(shù)組.length;i++)
if (單選框數(shù)組[i].checked) break;
返回 單選框數(shù)組[i].value就行了
D):得到所有打勾的復(fù)選框的值
for(i=0;i<復(fù)選框數(shù)組.length;i++)
if (復(fù)選框數(shù)組[i].checked) 執(zhí)行對(duì)應(yīng)的語句
E):下拉框
A)得到所選中的值-->下拉框.value
B)刪除里面的全部?jī)?nèi)容----->下拉框.length=0;
C)刪除里面的指定項(xiàng)--->下拉框.options.remove(下標(biāo));
D)往里面添加一項(xiàng)----->下拉框.options[下拉框.length]=new Option("標(biāo)簽","值");
注意下拉框的options是一個(gè)數(shù)組,用來存儲(chǔ)所有選擇,下標(biāo)是從零開始的
E)selectedIndex:得到或設(shè)置所選中的項(xiàng)的下標(biāo)
F)options[k].value:得到第i項(xiàng)的值
G)onchange事件:當(dāng)選中項(xiàng)發(fā)生改變時(shí),觸發(fā)
舉例:在客戶端實(shí)現(xiàn)兩個(gè)下拉框的聯(lián)動(dòng)[注意定義一維數(shù)組]
city=new Array();
city[0]=new Array("湖北省","武漢");
city[1]=new Array("湖北省","仙桃");
city[2]=new Array("湖北省","洪湖");
city[3]=new Array("福建省","廣州");
city[4]=new Array("福建省","廈門");
city[5]=new Array("福建省","漳州");
27:創(chuàng)建一個(gè)模塊的js的文件,然后在頁面中來調(diào)用
A)直接新建一個(gè)*.js文件:
直接寫上函數(shù),不用加<script type="text/javascript">標(biāo)記
B)在目的頁面中通過:<script src="JScript.js" type="text/javascript"></script>來引用
28:多個(gè)對(duì)像共享同一個(gè)事件:
<script type="text/javascript" for="TabItem" event="onmouseover">
var TabItem=document.getElementsByName("TabItem");
for(i=0;i<TabItem.length;i++)
{
if (TabItem[i]==this)
{
TabItem[i].background="images/nh-bg.gif";
}
else
{
TabItem[i].background="";
}
}
</script>
第四章:C#.net語法基礎(chǔ)
在這一章中,你將要學(xué)習(xí)以下一些內(nèi)容
1:編寫asp.net語言的選擇
2:vs.net 2005 界面技巧
3:如何在頁面中加入服務(wù)器端代碼
4:如何在頁面中導(dǎo)入命名空間
5:C#.net語法基礎(chǔ)
6:動(dòng)態(tài)的由服務(wù)器端向客戶端加入javascript
編寫asp.net語言的選擇:
編寫asp.net程序,net為我們提供了以下幾種語言vb.net,c#.net,j#.net其中vb.net語言是最簡(jiǎn)單,最容易學(xué)的語言,它繼承了vb的大部分語法,同時(shí)又加入了一整套.net framework,利用vb.net開發(fā)asp.net程序是最容易的一門的語言C#.net是整個(gè).net的核語言,它繼承了c,c++的大部分語法,較vb.net有點(diǎn)復(fù)雜,但是執(zhí)行程序的效率比vb.net更高,j#.net是繼承了javascript的大部分語法,一般很少用。我們選擇C#.net語言作來開發(fā)asp.net程序的語言
vs.net 2005 界面技巧
1)設(shè)置顯示解決方案---------:工具--選項(xiàng)-->項(xiàng)目和解決方案-->常規(guī)
2)對(duì)單網(wǎng)頁可以進(jìn)行生成,不需要對(duì)整個(gè)項(xiàng)目進(jìn)行生成
3)設(shè)計(jì)模式與源文件模式(html模式),后代碼模式(類),讓頁面一加載時(shí)自動(dòng)顯示設(shè)計(jì)模式
4)文檔大綱窗口:可以清楚層現(xiàn)html標(biāo)簽的層次關(guān)系:視圖-->其它窗口--->文檔大綱
5)Html標(biāo)簽導(dǎo)航:切換到源文件模式,單右-->選擇最下面的"選中html標(biāo)簽"
6)源文件模式下控件拖曳
7)多文檔頁面顯示------ctrl+tab可以在不同文檔之間切換
8)Asp.net網(wǎng)站特殊文件夾:
A:App_Code用來存放代碼文件(比如:*.cs,類文件)
B:App_Date用來存放網(wǎng)站數(shù)據(jù)文件(數(shù)據(jù)庫(kù)文件,xml文件等)
C:還有很多其它的特殊文件夾
9)程序代碼重構(gòu):
A:重構(gòu)屬性
B:重構(gòu)方法
10)Asp.net網(wǎng)站的動(dòng)態(tài)編譯:
A:當(dāng)asp.net第一次運(yùn)行時(shí),IIs會(huì)自動(dòng)為asp.net生成一個(gè)dll,所以第一次非常慢
以后只要文件的內(nèi)容的沒有發(fā)生改變,IIs就會(huì)延用上一次生成的dll,不會(huì)再次生成
新的dll,所以第一次運(yùn)行慢,以后運(yùn)行快
B:如果asp.net的源文件內(nèi)容一旦發(fā)生改變,則IIs會(huì)重新生在一個(gè)dll,利用這個(gè)特點(diǎn)
我們可以在vs.net環(huán)境中寫程序,而在IIs中直接打開網(wǎng)站后刷新即可
如何在頁面中加入服務(wù)器端代碼
C#.net只能被服務(wù)器端的IIS來編譯執(zhí)行,所以C#.net語言是一定要運(yùn)行于服務(wù)器端
A:直接把代碼加入"后代碼文件"的事件里面[采用CodeBehind]
B:直接把代碼加入"頁面文件"里面此時(shí)一定要加<% %>來限制 [采用CodeBeside]
1)如果是單純的C#代碼,可以直接用<%%>括起來,并且可以有多個(gè)<%%>
2)如果是函數(shù),則一定要緊跟在<%page %>命令符下面,并按照如下的格式:
<script language="C#" runat="server">
private int sum(int a, int b)
{
return a + b;
}
</script>
3)如果要得到一個(gè)變量的值,可以寫上<%=變量名%>
比如:
今天是:<%=System.DateTime.Today.ToLongDateString() %>
如何在頁面中導(dǎo)入命名空間
1)在代碼文件中:使用using語句
2)在頁面文件中:使用<%@ Import 語句比如:
<%@ Import Namespace="System.Data.SqlClient" %>
位置在<@ page> 的下面
C#.net的語法基礎(chǔ)
C#.net的數(shù)據(jù)類型:
Int,Double,String,Char,object數(shù)據(jù)類型(相當(dāng)于vb里面的變體類型)
定義變量:
類型標(biāo)識(shí)符 變量名;
給變量賦初值:
可以在定義的時(shí)候,給變量賦初值---Int a=5;
也可以在定義之后,給變量賦初值
運(yùn)算符:
a):賦值運(yùn)算符:=
b):算術(shù)運(yùn)算符:+,-,*,\(整除),%(余)
c):字符串聯(lián)接符:+
d):關(guān)系運(yùn)算符:>,>=,<,<=,==
e):邏輯運(yùn)算符:&&,||,!
f):復(fù)合運(yùn)算符:x+=3,x*=6等
asp.net的輸入和輸出:
a):輸出
1):輸出單純的字符串: response.write("字符串");
2):輸出html標(biāo)記:response.write("html標(biāo)記")[重要重要]
比如:Response.Write("<a href='C:\WINNT\Web\Wallpaper\城堡.jpg'>我的鏈接</a>")
3):輸出js腳本:Response.Write("<script>js代碼</script>");
4):輸出當(dāng)前的日期和時(shí)間:
Response.Write(DateTime.Now.ToLongTimeString()):時(shí)間
Response.Write(DateTime.Now.ToLongDateString()):日期
b):輸入:利用控件進(jìn)行輸入比如:textbox控件等
if 語句,select case語句
舉例:
A)讓用戶輸入兩個(gè)數(shù)和一個(gè)操作符,求出運(yùn)算結(jié)果
B)讓用戶輸入三門功課求出平均分和總分并根據(jù)求出的結(jié)果判斷優(yōu),良,差
C)根據(jù)星期把對(duì)應(yīng)的背景圖片換成是"星期"的圖片
循環(huán)語句:for,while循環(huán)
舉例:
A)輸出Moon1.gif~Moon8.gif這幾個(gè)文件里面的圖片
B)利用表格打印九九乘法表
C)實(shí)現(xiàn)擲骰子游戲
7:數(shù)組:
1):聲明與初始化
靜態(tài)數(shù)組的聲明與初始化:
string[] NameList = new string[6];
進(jìn)行初始化
string[] NameList=new string[5] {"張三","李四","王五","趙六","王七"};
動(dòng)態(tài)數(shù)組的初始化:
string[] NameList=new string[] {"張三","李四","王五","趙六","王七"};
2):數(shù)組.length:用來讀出數(shù)組的長(zhǎng)度
舉例:
A)定義姓名,語文,數(shù)學(xué),化學(xué)數(shù)組,通過函數(shù)與表格求出總分與平均分
B)利用數(shù)組和表格打印出一些商品的列表清單
8:哈希表(HashTable):是一種兩欄數(shù)據(jù)結(jié)構(gòu)。一欄是鍵(Key),一欄是值(Value)
創(chuàng)建哈希表:
Hashtable has = new Hashtable();
添加數(shù)據(jù):
has.add("鍵",值)
獲得指定鍵的值
has["鍵"]
檢查是否已經(jīng)存在某個(gè)鍵
has.ContainsKey("鍵")
刪除某個(gè)鍵
has.Remove("鍵")
清除全部鍵
has.clear();
訪問哈希表的內(nèi)容:
Hashtable ht = new Hashtable();
foreach (DictionaryEntry item in ht)
26:動(dòng)態(tài)的向服務(wù)器(web控件)加入客戶端的javascript[重要]
以前的方法都是根據(jù)事先寫好的函數(shù),然后再向客戶端去調(diào)用,但有時(shí)候,可能需要服務(wù)器
端傳來的數(shù)據(jù),再在客戶端進(jìn)行處理,這個(gè)時(shí)候就要?jiǎng)討B(tài)的向客戶端添加代碼
方法:
在Page_Load事件里面寫上:
1:RegisterClientScriptBlock("chen", js)方法來注冊(cè)js
2:IsClientScriptBlockRegistered("chen")方法來檢驗(yàn)些js是否已經(jīng)注冊(cè),從而
可以避免一個(gè)js被反復(fù)注冊(cè)
舉例:
1)從數(shù)據(jù)庫(kù)里面讀出職工信息,放入客戶端的js中。形式如:
Worker=new Array()
Worker[0]=new Array('張三','BM1');
Worker[1]=new Array('李四','BM1');
Worker[2]=new Array('王五','BM2');
Worker[3]=new Array('趙六','BM2');
2)通過數(shù)據(jù)庫(kù),實(shí)現(xiàn)兩個(gè)下拉框的聯(lián)動(dòng)(無刷新)
2:javascript每一條語句必須以";"結(jié)束,與C語言一樣
3:輸出:document.write("字符串")--->還可以輸出對(duì)應(yīng)的html標(biāo)記
4:改變窗體的顏色document.bgColor="red";
4:類型轉(zhuǎn)換:parseInt,parseFloat
5:隨機(jī)函數(shù):parseInt(Math.random()*90+10) 產(chǎn)生10--100的隨機(jī)數(shù)
5:彈出對(duì)話框:alert("提示的內(nèi)容")
5:if if...else,for,while,switch case
5:如何定義數(shù)組:
1)一維數(shù)組:
a=new Array();[定義數(shù)組時(shí)不需要指定長(zhǎng)度]
a[0]=1;
a[1]=1;
a[2]=1;
s=0;
for(i=0;i<a.length;i++)
{
s+=a[i];
}
2)二維數(shù)組:
city=new Array();
city[0]=new Array("湖北省","武漢");
city[1]=new Array("湖北省","仙桃");
city[2]=new Array("湖北省","洪湖");
city[3]=new Array("福建省","廣州");
city[4]=new Array("福建省","廈門");
city[5]=new Array("福建省","漳州");
5:javascript里面的函數(shù),及函數(shù)的調(diào)用,以及變量的作用范圍
6:彈出詢問對(duì)話框:confirm("詢問的內(nèi)容")
7:關(guān)閉窗體:window.opener=null;window.close();
8:打開一個(gè)窗體:
1)變量名=window.open("網(wǎng)頁名") 開一個(gè)新窗口
2)變量名=window.open("網(wǎng)頁名","名字","height=200px,width=300px")
3)打開窗口在屏幕中心彈出
t=window.open('dotest.htm','test','height=400px,width=500px');
t.moveTo((screen.width-500)/2,(screen.height-400)/2;
4)window.location="url" 不會(huì)打開一個(gè)新窗口
5)以模態(tài)窗體彈出
window.showModalDialog('dotest.htm','','dialogWidth=600px;dialogHeight=500px');
9:刷新一個(gè)窗體:
window.location.reload();
10:得到本窗體的表單元素的值:表單名.元素名.value
11:如何在另外一個(gè)窗體中來訪問前一個(gè)窗體的表單元素
A:模態(tài)窗體:
源窗體
1)window.showModalDialog('dotest.htm',window,'dialogWidth=600px;dialogHeight=500px');
注意名字一定要寫上window
2)window.dialogArguments.form1.txtuser.value
B:非模態(tài)窗體:
源窗體:
window.open
目的窗體:
window.opener.表單名.表單元素名.value
12:如何通過模態(tài)窗體向父窗體返回值:
源窗體:
t=window.showModalDialog(參數(shù))
alert(t)
目的窗體:
window.returnValue=值;window.opener=null;window.close();
13:如何在關(guān)閉子窗體的同時(shí),刷新父窗體
A)非模態(tài)窗口
源頁面:
window.open("頁面")
目的頁面:
window.opener.location.href=window.opener.location.href;
window.opener=null;window.close();
B)模態(tài)窗口
源頁面:
window.showModalDialog();-------有暫停代碼的用途
window.location.reload();
目的頁面:
window.opener=null;window.close();
14:設(shè)置狀態(tài)欄文字:window.status
15)轉(zhuǎn)換字符串為數(shù)值:parseInt("字符串"),parseFloat("字符串")
16)得到當(dāng)前的時(shí)間
var date=new Date();
document.write(date.toLocaleTimeString());
17):得到當(dāng)前的日期:
var date=new Date();
document.write(date.toLocaleDateString());
18):回到上一個(gè)頁面。注意不是刷新
history.go(-1)
19:改變某個(gè)對(duì)像的背景色
this.style.backgroundColor='yellow',
this.style.color='文字顏色'
20:設(shè)為首頁:
this.style.behavior='url(#default#homepage)';this.setHomePage('你的網(wǎng)頁');
21):指定讓代碼過幾分鐘后自動(dòng)反復(fù)執(zhí)行某個(gè)過程.
setInterval("js代碼",1000)
舉例:讓一個(gè)背景不斷變換[頁面閃得很厲害]
var index=1;
function ChangePic()
{
form1.p1.src=index+".jpg";
index=index+1;
if (index==4)
{
index=1;
}
}
setInterval("ChangePic(index)",1000);
改進(jìn):[先定義數(shù)組,把圖片預(yù)裝在內(nèi)存中]
pic=new Array(4);
pic[0]=new Image();
pic[1]=new Image();
pic[2]=new Image();
pic[3]=new Image();
pic[0].src="1.jpg";
pic[1].src="2.jpg";
pic[2].src="3.jpg";
pic[3].src="4.jpg";
function ClearText()
{
form1.p1.src=pic[index].src;
index=index+1;
if (index==4)
{
index=1;
}
}
setInterval("ClearText(index)",1000);
23):讓指定的代碼在多少時(shí)間之后執(zhí)行,但只執(zhí)行一次:
setTimeout("js代碼",1000);
24):清空一個(gè)表單中的所有文本框的文本
for(i=0;i<form1.elements.length;i++)
{
if (form1.elements[i].type=="text")
{
form1.elements[i].value="";
}
}
25)運(yùn)行一個(gè)可執(zhí)行文件:
obj=new ActiveXObject("wscript.shell");
obj.run("calc.exe");
26)Java script中的事件
A)onmouseove:鼠標(biāo)到達(dá)
B)onmouseout:鼠標(biāo)離開事件
C)onclick:單擊事件
D)onKeypress:鍵被按下時(shí),可以通過event.keyCode得到按下鍵的Asii碼
E)load事件:把代碼直接寫在<script></script>就相當(dāng)于Load事件
F)onsubmit:當(dāng)表單提交時(shí)會(huì)觸發(fā)表單提交事件
原理:當(dāng)用戶按下提交按鈕時(shí),會(huì)觸發(fā)表單的onsubmit事件。在這個(gè)事件里面根據(jù)用戶返回 的值(true,false)來決定是否需要提交表單,為true時(shí)會(huì)提交,為false不會(huì)提交所 以我們經(jīng)常會(huì)用一個(gè)函數(shù)來進(jìn)行數(shù)據(jù)驗(yàn)證。
舉例:
1)<marquee scrollamount=3 onmouseover=this.stop(); onmouseout=this.start();>文字移動(dòng)
2)<input type=text name=txtPostalCode onKeypress="if (event.keyCode < 45 || event.keyCode > 57) event.keyCode=0;">//只能輸入數(shù)字
3)使表格的選中的行出現(xiàn)不同的顏色
4)阻止用戶往文本框里面輸入值:
onkeypress="reuturn false"
說明:在表單元素的任何事件中,只要加上return false就不會(huì)觸發(fā)此事件
25:正則表達(dá)式:
像dos里面的通配符一樣,用來檢測(cè)一個(gè)輸入是否滿足特定的通配符
^:代表一行字符的開頭
$:代表一行字符的結(jié)束
[]:用來定義可接受的字符
[a-z]:表示可以接受小寫字母
[A-Z]:表示可以接受大寫字母
[0-9]:表示可以接受數(shù)字
[0-9,_,a]:表示可以接受數(shù)字,下劃線或字母a
[a-zA-Z0-9]:表示既可以接受英文字母,又可以接受數(shù)字
[^]:不能接受的字符
[^a-z]:不能接受英文字母
{}:用來定義必須輸入的字符個(gè)數(shù)
{3}:必須含有3個(gè)字符。
{4,8}:至少含有4個(gè)至多含有8個(gè)字符
[0-9]{3}:必須輸入3個(gè)數(shù)字
[a-zA-Z]{4,6}:必須輸入4到6位英文字母
{n,}:表示至少可以輸入n個(gè)字符。
[a-z]{0,}:表示可以接受0個(gè)或多個(gè)英文字母
[a-z]{1,}:表示可以接受至少1個(gè)英文字母
+:匹配前面字符的1次或多次-----相當(dāng)于{1,}
*:匹配前面字符的0次或多次-----相當(dāng)于{0,}
.:表示任意字符
舉例:
frm1.user.value.match("^[0-9a-zA-z]{5,8}$")
26:如何利用Js對(duì)表單元素進(jìn)行控制:
A:文本框:
1)得到文本框的文本:
表單名.表單元素名.value
2)獲得焦點(diǎn):
表單名.表單元素名.focus()
B:按鈕:
1)使按鈕不可用:
表單名.按鈕名.disabled=true (true,不可用;false 可用)
2)使按鈕不可見:
表單名.按鈕名.style.display="none" 不可見
表單名.按鈕名.style.display="" 可見
if (表單名.按鈕名.style.display=="") 如果可見
C)單選框:
得到單選框所選中的值 [各個(gè)單選框的名稱一定要一樣,值不一樣]
for(i=0;i<單選框數(shù)組.length;i++)
if (單選框數(shù)組[i].checked) break;
返回 單選框數(shù)組[i].value就行了
D):得到所有打勾的復(fù)選框的值
for(i=0;i<復(fù)選框數(shù)組.length;i++)
if (復(fù)選框數(shù)組[i].checked) 執(zhí)行對(duì)應(yīng)的語句
E):下拉框
A)得到所選中的值-->下拉框.value
B)刪除里面的全部?jī)?nèi)容----->下拉框.length=0;
C)刪除里面的指定項(xiàng)--->下拉框.options.remove(下標(biāo));
D)往里面添加一項(xiàng)----->下拉框.options[下拉框.length]=new Option("標(biāo)簽","值");
注意下拉框的options是一個(gè)數(shù)組,用來存儲(chǔ)所有選擇,下標(biāo)是從零開始的
E)selectedIndex:得到或設(shè)置所選中的項(xiàng)的下標(biāo)
F)options[k].value:得到第i項(xiàng)的值
G)onchange事件:當(dāng)選中項(xiàng)發(fā)生改變時(shí),觸發(fā)
舉例:在客戶端實(shí)現(xiàn)兩個(gè)下拉框的聯(lián)動(dòng)[注意定義一維數(shù)組]
city=new Array();
city[0]=new Array("湖北省","武漢");
city[1]=new Array("湖北省","仙桃");
city[2]=new Array("湖北省","洪湖");
city[3]=new Array("福建省","廣州");
city[4]=new Array("福建省","廈門");
city[5]=new Array("福建省","漳州");
27:創(chuàng)建一個(gè)模塊的js的文件,然后在頁面中來調(diào)用
A)直接新建一個(gè)*.js文件:
直接寫上函數(shù),不用加<script type="text/javascript">標(biāo)記
B)在目的頁面中通過:<script src="JScript.js" type="text/javascript"></script>來引用
28:多個(gè)對(duì)像共享同一個(gè)事件:
<script type="text/javascript" for="TabItem" event="onmouseover">
var TabItem=document.getElementsByName("TabItem");
for(i=0;i<TabItem.length;i++)
{
if (TabItem[i]==this)
{
TabItem[i].background="images/nh-bg.gif";
}
else
{
TabItem[i].background="";
}
}
</script>
第四章:C#.net語法基礎(chǔ)
在這一章中,你將要學(xué)習(xí)以下一些內(nèi)容
1:編寫asp.net語言的選擇
2:vs.net 2005 界面技巧
3:如何在頁面中加入服務(wù)器端代碼
4:如何在頁面中導(dǎo)入命名空間
5:C#.net語法基礎(chǔ)
6:動(dòng)態(tài)的由服務(wù)器端向客戶端加入javascript
編寫asp.net語言的選擇:
編寫asp.net程序,net為我們提供了以下幾種語言vb.net,c#.net,j#.net其中vb.net語言是最簡(jiǎn)單,最容易學(xué)的語言,它繼承了vb的大部分語法,同時(shí)又加入了一整套.net framework,利用vb.net開發(fā)asp.net程序是最容易的一門的語言C#.net是整個(gè).net的核語言,它繼承了c,c++的大部分語法,較vb.net有點(diǎn)復(fù)雜,但是執(zhí)行程序的效率比vb.net更高,j#.net是繼承了javascript的大部分語法,一般很少用。我們選擇C#.net語言作來開發(fā)asp.net程序的語言
vs.net 2005 界面技巧
1)設(shè)置顯示解決方案---------:工具--選項(xiàng)-->項(xiàng)目和解決方案-->常規(guī)
2)對(duì)單網(wǎng)頁可以進(jìn)行生成,不需要對(duì)整個(gè)項(xiàng)目進(jìn)行生成
3)設(shè)計(jì)模式與源文件模式(html模式),后代碼模式(類),讓頁面一加載時(shí)自動(dòng)顯示設(shè)計(jì)模式
4)文檔大綱窗口:可以清楚層現(xiàn)html標(biāo)簽的層次關(guān)系:視圖-->其它窗口--->文檔大綱
5)Html標(biāo)簽導(dǎo)航:切換到源文件模式,單右-->選擇最下面的"選中html標(biāo)簽"
6)源文件模式下控件拖曳
7)多文檔頁面顯示------ctrl+tab可以在不同文檔之間切換
8)Asp.net網(wǎng)站特殊文件夾:
A:App_Code用來存放代碼文件(比如:*.cs,類文件)
B:App_Date用來存放網(wǎng)站數(shù)據(jù)文件(數(shù)據(jù)庫(kù)文件,xml文件等)
C:還有很多其它的特殊文件夾
9)程序代碼重構(gòu):
A:重構(gòu)屬性
B:重構(gòu)方法
10)Asp.net網(wǎng)站的動(dòng)態(tài)編譯:
A:當(dāng)asp.net第一次運(yùn)行時(shí),IIs會(huì)自動(dòng)為asp.net生成一個(gè)dll,所以第一次非常慢
以后只要文件的內(nèi)容的沒有發(fā)生改變,IIs就會(huì)延用上一次生成的dll,不會(huì)再次生成
新的dll,所以第一次運(yùn)行慢,以后運(yùn)行快
B:如果asp.net的源文件內(nèi)容一旦發(fā)生改變,則IIs會(huì)重新生在一個(gè)dll,利用這個(gè)特點(diǎn)
我們可以在vs.net環(huán)境中寫程序,而在IIs中直接打開網(wǎng)站后刷新即可
如何在頁面中加入服務(wù)器端代碼
C#.net只能被服務(wù)器端的IIS來編譯執(zhí)行,所以C#.net語言是一定要運(yùn)行于服務(wù)器端
A:直接把代碼加入"后代碼文件"的事件里面[采用CodeBehind]
B:直接把代碼加入"頁面文件"里面此時(shí)一定要加<% %>來限制 [采用CodeBeside]
1)如果是單純的C#代碼,可以直接用<%%>括起來,并且可以有多個(gè)<%%>
2)如果是函數(shù),則一定要緊跟在<%page %>命令符下面,并按照如下的格式:
<script language="C#" runat="server">
private int sum(int a, int b)
{
return a + b;
}
</script>
3)如果要得到一個(gè)變量的值,可以寫上<%=變量名%>
比如:
今天是:<%=System.DateTime.Today.ToLongDateString() %>
如何在頁面中導(dǎo)入命名空間
1)在代碼文件中:使用using語句
2)在頁面文件中:使用<%@ Import 語句比如:
<%@ Import Namespace="System.Data.SqlClient" %>
位置在<@ page> 的下面
C#.net的語法基礎(chǔ)
C#.net的數(shù)據(jù)類型:
Int,Double,String,Char,object數(shù)據(jù)類型(相當(dāng)于vb里面的變體類型)
定義變量:
類型標(biāo)識(shí)符 變量名;
給變量賦初值:
可以在定義的時(shí)候,給變量賦初值---Int a=5;
也可以在定義之后,給變量賦初值
運(yùn)算符:
a):賦值運(yùn)算符:=
b):算術(shù)運(yùn)算符:+,-,*,\(整除),%(余)
c):字符串聯(lián)接符:+
d):關(guān)系運(yùn)算符:>,>=,<,<=,==
e):邏輯運(yùn)算符:&&,||,!
f):復(fù)合運(yùn)算符:x+=3,x*=6等
asp.net的輸入和輸出:
a):輸出
1):輸出單純的字符串: response.write("字符串");
2):輸出html標(biāo)記:response.write("html標(biāo)記")[重要重要]
比如:Response.Write("<a href='C:\WINNT\Web\Wallpaper\城堡.jpg'>我的鏈接</a>")
3):輸出js腳本:Response.Write("<script>js代碼</script>");
4):輸出當(dāng)前的日期和時(shí)間:
Response.Write(DateTime.Now.ToLongTimeString()):時(shí)間
Response.Write(DateTime.Now.ToLongDateString()):日期
b):輸入:利用控件進(jìn)行輸入比如:textbox控件等
if 語句,select case語句
舉例:
A)讓用戶輸入兩個(gè)數(shù)和一個(gè)操作符,求出運(yùn)算結(jié)果
B)讓用戶輸入三門功課求出平均分和總分并根據(jù)求出的結(jié)果判斷優(yōu),良,差
C)根據(jù)星期把對(duì)應(yīng)的背景圖片換成是"星期"的圖片
循環(huán)語句:for,while循環(huán)
舉例:
A)輸出Moon1.gif~Moon8.gif這幾個(gè)文件里面的圖片
B)利用表格打印九九乘法表
C)實(shí)現(xiàn)擲骰子游戲
7:數(shù)組:
1):聲明與初始化
靜態(tài)數(shù)組的聲明與初始化:
string[] NameList = new string[6];
進(jìn)行初始化
string[] NameList=new string[5] {"張三","李四","王五","趙六","王七"};
動(dòng)態(tài)數(shù)組的初始化:
string[] NameList=new string[] {"張三","李四","王五","趙六","王七"};
2):數(shù)組.length:用來讀出數(shù)組的長(zhǎng)度
舉例:
A)定義姓名,語文,數(shù)學(xué),化學(xué)數(shù)組,通過函數(shù)與表格求出總分與平均分
B)利用數(shù)組和表格打印出一些商品的列表清單
8:哈希表(HashTable):是一種兩欄數(shù)據(jù)結(jié)構(gòu)。一欄是鍵(Key),一欄是值(Value)
創(chuàng)建哈希表:
Hashtable has = new Hashtable();
添加數(shù)據(jù):
has.add("鍵",值)
獲得指定鍵的值
has["鍵"]
檢查是否已經(jīng)存在某個(gè)鍵
has.ContainsKey("鍵")
刪除某個(gè)鍵
has.Remove("鍵")
清除全部鍵
has.clear();
訪問哈希表的內(nèi)容:
Hashtable ht = new Hashtable();
foreach (DictionaryEntry item in ht)
26:動(dòng)態(tài)的向服務(wù)器(web控件)加入客戶端的javascript[重要]
以前的方法都是根據(jù)事先寫好的函數(shù),然后再向客戶端去調(diào)用,但有時(shí)候,可能需要服務(wù)器
端傳來的數(shù)據(jù),再在客戶端進(jìn)行處理,這個(gè)時(shí)候就要?jiǎng)討B(tài)的向客戶端添加代碼
方法:
在Page_Load事件里面寫上:
1:RegisterClientScriptBlock("chen", js)方法來注冊(cè)js
2:IsClientScriptBlockRegistered("chen")方法來檢驗(yàn)些js是否已經(jīng)注冊(cè),從而
可以避免一個(gè)js被反復(fù)注冊(cè)
舉例:
1)從數(shù)據(jù)庫(kù)里面讀出職工信息,放入客戶端的js中。形式如:
Worker=new Array()
Worker[0]=new Array('張三','BM1');
Worker[1]=new Array('李四','BM1');
Worker[2]=new Array('王五','BM2');
Worker[3]=new Array('趙六','BM2');
2)通過數(shù)據(jù)庫(kù),實(shí)現(xiàn)兩個(gè)下拉框的聯(lián)動(dòng)(無刷新)
相關(guān)文章
JS中構(gòu)造函數(shù)的基本特性與優(yōu)缺點(diǎn)
這篇文章介紹了JS中構(gòu)造函數(shù)的基本特性與優(yōu)缺點(diǎn),文中通過示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-06-06深入解析JavaScript中的數(shù)字對(duì)象與字符串對(duì)象
這篇文章主要介紹了JavaScript中的數(shù)字對(duì)象與字符串對(duì)象,是JavaScript入門學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下2015-10-10DOM下的節(jié)點(diǎn)屬性和操作小結(jié)
DOM 節(jié)點(diǎn)屬性操作方法小結(jié)。2009-05-05深入理解javaScript中的事件驅(qū)動(dòng)
本篇文章是對(duì)javaScript中的事件驅(qū)動(dòng)進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-05-05