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