壹、在頁面中怎麽添加javascript
<script language=”javascript”> //這行是javascript腳本標記,斜杠後面的就是註釋了
document.write(”在頁面顯示的javascript”) //在頁面顯示壹句話
</script>
/*這也是註釋*/
二、javascript的數據類型
1、字符串(string):字符串就是由壹連串的字符組成的序列。包括字母、數字以及標點符號。當然還可以是漢字等。簡單壹點就是表示文本信息。
2、數字(number):數字又分為兩類:整型數字和浮點型數字。
整數包括正整數,零和負整數。
javascript中的數字可以使用十進制、八進制和十六進制來書寫。方法如下:
十進制:15(直接寫數字即可)
八進制:017(要以零做為引導數字)
十六進制:0xf(要以0x做為引導數字)
浮點型數字也叫實數,為了方便,也可以使用科學記數法來表示:
1.13e1、1.5e3(等價於1.5乘10的3次方)
javascript的數字範圍大約為10的負308次方到10的308次方之間。
javascript中還有壹個特殊的數字值NaN(not a number),javascript 用nan表示這個無意義的結果。
3、布爾值(boolean):true和false,在計算機中壹般用1表示true,用0表示false。
三、alert()方法的使用:
<script language=”javascript”>
alert(”在頁面上顯示警告對話框”);
</script>
alert()是javascript產生壹個帶確認按鈕的對話框,上面顯示括號內的信息。
四、confirm()方法的使用:
<script language=”javascript”>
confirm(”在頁面上顯示確認對話框”);
</script>
confirm()和alert()差不多,不同的就是多了個取消按鈕。按確定返回true,按取消返回false。
<script language=”javascript”>
var con;
con=confirm(”妳們喜歡這樣的教程嗎?”);
if (con==true) alert(”喜歡”);
else alert(”不喜歡”);
</script>
五、prompt()方法的使用:
<script language=”javascript”>
var name,age;
name=prompt(”請問您的名字?”);
alert(name);
age=prompt(”多大?”);
alert(age);
</script>
它不但可以顯示信息,而且可以輸入信息。
六、javascript變量
用var加上為變量指定的名稱來聲明變量,變量類型可以通過給變量賦值來確定。由於javascript采用的是弱類型的樣式,對數據類型要求不太嚴格,在程序執行的過程中,會根據需要自動轉換。
字符串變量,可以通過“變量名.length”來獲得該變量中字符串的長度,如
var name;
name=”javascript”;
那麽name.length的值就是10。
若在壹行中創建多個變量時,記住用逗號來隔開變量名。各語句用分號隔開。(使用分號是個好習慣, 大家在學習的時候盡量養成加分號的習慣)
類型轉換:javascript允許在程序中改變變量的類型,最常見的兩個類型轉換符Number和String。
Number(x)是字符型值——〉數字值型。String與之相反。相對於javascript的自動類型轉換,可以將這種轉換成為強制類型轉換。(強制類型轉換需要在javascript1.2及以上版本才可以使用)
變量的命名:
1.必須以字母或下劃線開頭,中間可以有字母數字和或下劃線。不能使用空格、+、-等其他符號。
作為連字符外,變量名稱不能有空格、(+)、(-)、(,)或其它符號。
2.不能使用JavaScript中的關鍵字作為變量。
(javascript變量名是區分大小寫的,name和Name是不壹樣的。)
對於變量還有壹個重要性──那就是變量的作用域。在JavaScript中同樣有全局變量和局部變量。全局變量是定義在所有函數體之外,其作用範圍是整個函數;而局部變量是定義在函數體之內,只對其該函數是可見的,而對其它函數則是不可見的。
如果局部變量和全局變量重名,則局部變量優先。js沒有塊級作用域。函數中聲明的所有的變量,作用域是相同的。
變量的類型規則
javascript是無類型的,他的變量可以放任何數據類型的值。
變量的聲明
在javascript程序中,在使用變量之前,必須先聲明它。變量是使用關鍵字var聲明的。而實際上,不壹定要先聲明變量,在某些情況下,變量聲明是可選的。
var i;
var sum;
也可以使用壹個var關鍵字聲明多個變量;
var i,sum;
而且還可以將變量聲明和變量初始化綁定在壹起:
var message = ‘hello’;
var i = 0,j=0,k=0;
由var聲明的變量是永久的,因為各瀏覽器對是否可以刪除全局性的變量的態度是不同的,(都可以刪除局部變量)為了安全,最好假設全局變量不可刪除。
可以使用var多次聲明同壹個變量,當妳給壹個沒有聲明的變量賦值時,js會自動用哪個變量為妳創建壹個全局變量。如果妳想在函數內部創建壹個局部變量。那就必須用var在函數內部聲明。
七、javascript表達式和運算符
表達式:在定義完變量後,就可以對它們進行賦值、改變、計算等壹系列操作,這壹過程通常由表達式來完成,可以說它是變量、常量、布爾及運算符的集合,因此表達式可以分為算術表述式、字串表達式、賦值表達式以及布爾表達式等。
1.算術運算符:+(加) 、-(減)、 *(乘)、 /(除)、 %(取模) -(取反)、++(遞加1)、–(遞減1)。
例:11%2=1 ; 如果x=2 ++x+4=7 x+++4=6(++x是先執行加1,x++是執行完語句之後x在自加1)
例子:
<script>
var i=0, j=0;
alert(i++ + ” ” + ++j + ” ” + i);
// 輸出 “0 1 1”,可見i++是先輸出了i,然後進行運算,而++j是先對j進行了自加運算,然後輸出j的值
</script>
2.比較運算符:<(小於)、>(大於)、<=(小於等於)、>=(大於等於)、==(等於)、!=(不等於)
(基本操作過程是,首先對它的操作數進行比較,然後再返回壹個true或False值。)
3.邏輯運算符:!(取反)、&=(與之後賦值)、 &(邏輯與)、 |=(或之後賦值)、 |(邏輯或)、^=(異或之後賦值)、 ^(邏輯異或)、 ?:(三目操作符)、||(或)、&& (與)==(等於)、|=(不等於)。
4.字符串運算符:只有+ (”my“+”javascript“結果等於”my javascript“)
5.賦值運算符:即=,將右邊的值賦給左邊的變量。
6.條件運算符:(?:)例:status=(age>=18)?”adult”:”child”;如果大於18,則表達式的值為adult。
7.typeof()運算符:用來返回變量或數據的類型。
八、IF語句。
if (條件)
語句段1
else
語句段2
功能:若表達式為true,則執行語句段1;否則執行語句段2。
說明:
if -else 語句是JavaScript中最基本的控制語句,通過它可以改變語句的執行順序。
表達式中必須使用關系語句,來實現判斷,它是作為壹個布爾值來估算的。
它將零和非零的數分別轉化成false和true。
若if後的語句有多行,則必須使用花括號將其括起來。
九、window.com()的用法
1、基本語法
window.open(pageURL,name,parameters)
其中:
pageURL 為子窗口路徑
name 為子窗口句柄
parameters 為窗口參數(各參數用逗號分隔)
2. 窗口參數
其中yes/no也可使用1/0; value為具體的數值,單位象素。
toolbar=yes,no 是否顯示工具條
location=yes,no 是否顯示網址欄
directories=yes,no 是否顯示導航條
status=yes,no 是否顯示狀態條
menubar=yes,no 是否顯示菜單
scrollbars=yes,no 是否顯示滾動條
resizable=yes,no 是否可以改變公告窗口大小
copyhistory=yes,no 是否顯示歷史按鈕
width=value 公告窗口的寬
height=value 公告窗口的高
left=value 公告窗口的左上頂點距屏幕左邊100像素
top=value 公告窗口的左上頂點距屏幕頂端100像素
例:
<script language=”javascript”>
<!–
window.open(”00000.html”,”newwindow”,”toolbar=no,location=no,directories=no,status=no,menubar=no,
scrollbars=no,resizable=no,copyhistory=no,width=500,height=500,left=100,top=100″) //–>
</script>
十、for循環。另外就是數據類型。既for in
將字符串轉換為數值:
javascript語言提供兩個內置函數將表示數值的字符串轉換為真實的數值:parseInt()和parseFloat()。
為了使用這些函數,需要將進行轉換的字符串作為參數傳入函數,例:
parseInt(”42″) //result=42
parseInt(”42.33″) //result=42
不過是浮點數還是整數,函數返回的值都是整數。不存在四舍五入,小數點和它後面的數字將被舍棄。
而parseFloat()則返回浮點數(如果是整數就返回整數),例:
parseFloat(”42″) //result=42
parseFloat(”42.33″) //result=42.33
如果在某處需要進行字符串的轉換,只需將函數插入該初即可。如:
3+3+parseInt(”3″) //result=9
將數值轉換為字符串:
雖然當遇到表達式中含有混合數據類型時,js會傾向於字符串。但為了防止潛在的問題發生,最好先轉換以下。在數值中加入空字符串就可以把數值轉換為字符串了:
(”"+2500) //result=”2500″
(”"+2500).length //result=4
For循環:
javascript中最常用的循環結構稱之為for循環,關鍵詞放在循環結構的開始位置。正式語法結構如下:
for ([initial expression];[condition];[update expression]){
statement[s] inside loop
}
例:
for(var i=0;i<9;i++)
{
n+=i
myfunc(n)
}
for…in循環:
這個語句完全依照變量var所設定的值決定運行次數。妳可以用for…in語句在壹個對象或壹個數組上建立循環
for(var in [obj | array])
{
statements
}
例:
<script language=”javascript”>
document.write(”The properties of the document object”)
for(var element in document){
document.write(element+”=”+document[element])
}
</script>
十壹、鼠標事件
主要內容就是基於鼠標的事件,有如下幾種:
1.mouseover(鼠標移至)
2.mouseout(鼠標移出)
3.mousemove(鼠標移動)
4.mousedown(鼠標按下)
5.mouseup(鼠標彈起)
6.click(單擊)
7.dblclick(雙擊)
例子:
<html>
<head>
<title>test</title>
<script language=”javascript”>
function text_onmouseover(){
mytext.style.fontSize=”30pt”;
mytext.style.color=”red”;
mytext.style.fontStyle=”italic”;
}
function text_onmouseout(){
mytext.style.fontSize=”20pt”;
mytext.style.color=”blue”;
mytext.style.fontStyle=”normal”;
}
</script>
</head>
<body>
<p id=mytext onmouseover=”text_onmouseover()” onmouseout=”text_onmouseout()”></p>
<p>看看字體樣式有什麽變化</p>
</body>
</html>
8.mouseDown事件和mouseUp事件
大家知道,mouseDown事件和mouseUp事件的組合就是click事件,但是如果在鏈接上按下鼠標,並移到鏈接之外在放開鼠標,那麽就只有mouseDown事件了。這兩個事件可以增加圖標按鈕的圖像效果,
至於mouseDown和mouseUp的屬性,它們是伴隨著Click事件發生的,這和keyPress事件是keyDown事件和keyUp事件組合而成的機制是壹樣的,這3個鼠標事件也有modifier屬性。
(註意:如果在onClick事件處理中使用return語句,它可以接收任何數值。只要這個值不是False,瀏覽器就可以完成提交。但如果瀏覽器得到的是False值,表單提交操作就會被取消。)
9.Click事件和dbClick事件
onClick是單擊事件,onDblClick是雙擊事件,而實際上很難分清連續的單擊和雙擊。它們會互相幹擾。而且在ie和其他瀏覽器的情況還有不同。有的瀏覽器是雙擊事件的每壹次單擊都會觸發單擊事件,而在ie中,只有雙擊事件的第壹次單擊會觸發單擊事件。不管怎麽樣,單擊事件都不會自動的取消或被忽略。因此,如果想使用單擊和雙擊壹個鏈接時觸發兩個完全不同的過程,則必須通過編程來延遲單擊的動作知道雙擊。
<script>
var timer=null;
document.onclick=new Function(”timer=setTimeout(click,500)”)
document.ondblclick=new Function(”clearTimeout(timer);dblclick()”)
function click(){
alert(”click”)
}
function dblclick(){
alert(”dblclick”)
}
</script>
十二、javascript函數.
函數是有function加函數名和壹對帶有參數括號,以及大括號組成的,其中大括號裏是主體javascript語句.
例:
function hanshuname(js) //hanshuname是函數名.
{
document.write(js,”<br>”); //是函數的主體語句.
}
函數可以嵌套,如下:
function qiantao(a,b){
function lqiantao(x){return x*x;}
return Math.sqrt(lqiantao(a)+lqiantao(b));
}
函數還可以作為數據來應用,因此可以象處理其他數據那樣來處理函數,如:賦值,存儲,傳遞等.
例:
function zhi(x){return x*x;}
實際上,函數名沒有什麽意義,不過是保存函數的變量名而已.
a=zhi(6);//a存放的是數字36;
b=zhi;//現在b和zhi引用同壹個函數.
c=b(5);//c存放的是數字25.
在壹個函數體內,標識符arguments總是具有特殊含義,它是調用對象的壹個特殊屬性,用來引用實際參數對象.這個實際參數對象具有大量有用的屬性.除此之外,它還兼有數組的角色.
盡管定義javascript函數時都有固定的參數,但調用這個函數時,傳遞給它的參數數目卻可以是任意的,數組arguments[]允許完全存取那些實際參數值.另外,arguments有壹個length屬性,看如下例子:
function zhi(x,y,z)
{
if(arguments.length !=3){
alert(”function zhi called with”+arguments.length+”arguments,but it expects 3 arguments.”);
return null;
}
}
數組arguments[ ]還為javascript函數開發了壹項重要的可能性,既可以將函數編寫為能夠接受任意數目的實際參數.
function zhi()
{
var m=Number.NEGATIVE_INFINITY;
//遍歷所有參數
//檢索並記憶最大的壹個.
for(var i=0;i<arguments.length;i++)
if(arguments>m)m=arguments;
//返回最大的參數值.
return m;
}
var lazgest=zhi(1,10,100,2,3,1000,4,5,10000,6);
也可以使用arguments[]數組來編寫壹個函數.
調用js函數
<a href=”#” onClick=”functionName()”>Link text</a>
<a href=”javascript:functionName()”>Link text</a>