很渴望快速學習完成項目,不希望花費太多的時間來學習一門語言,雖然本文沒有詳細介紹特性但是以下
代碼運行就足以理解JavaScript文法,觀察以下代碼,複製到文本中用瀏覽器開啟。
JavaScript是大小寫敏感的, 這裡我們快速的瞭解它的文法
作為入門練習可以每個代碼自行敲打一遍。
1:helloworld,我們寫的第一個執行個體
<script language="JavaScript"> document.write("Hello World!!!");</script>
2:對話方塊形式顯示helloworld 三種形式
<a href="JavaScript:alert('Hello World!!!')">請單擊</a><a href="#" onclick="alert('Hello World!!!')">請單擊</a><a href="JavaScript://" onclick="alert('Hello World!!!')">請單擊</a> 3:with關鍵字用法 --簡化代碼用
開域語句,表示在with語句中的任何錶達式的所屬對象或者是類都由with後緊跟的變數所代表功能:為一段程式建立預設對象。簡化代碼<br> <br>格式:<br>with (<對象>){<br> <語句組><br>}<Script>with (document) { write ("<br><Li>限時搶購物品:"); write ("<Li>ViewSonic 17\" 顯示器。"); write ("<Li>EPSON 印表機。");}document.write ("<br>---------------");document.write ("<Li>限時搶購物品:");document.write ("<Li>ViewSonic 17\" 顯示器。");document.write ("<Li>EPSON 印表機。");</Script>4:變數聲明,總是var 開頭
<br>JavaScript資料的表示:
<br>整數:由加號或減號、數字構成,八進位、十進位、十六進位; <br>浮點數:由加號或減號、數字和小數點構成,常規記數法、科學記號標記法; <br>邏輯值:true、false <br>字串值:單引號、雙引號 <br>空值:null <br>未定義值:根本不存在的對象、已定義但沒有賦值的量; <br><br><script language="JavaScript">var stdId; var total=3721; var notNull=true; var name="李小龍",sex="先生"; var i=j=0; var hobby=["聽音樂","看電影"];hobby[2]="123";var test;stdId = 2004007;document.write("變數stdId="+stdId+"<br>");document.write("變數i="+i+"<br>");document.write("變數j="+j+"<br>");document.write("變數name="+name+"<br>");document.write("變數sex="+sex+"<br>");document.write("變數notNull="+notNull+"<br>");document.write("變數hobby="+hobby+"<br>");document.write("變數hobby[0]="+hobby[0]+"<br>");document.write("變數hobby[1]="+hobby[1]+"<br>");document.write("變數hobby[2]="+hobby[2]+"<br>");document.write("變數hobby[3]="+hobby[3]+"<br>");document.write("未賦值的變數test="+test+"<br>");document.write("不存在的數值(0.0/0.0)="+(0.0/0.0)+"<br>");var t1=1.7976931348623157E+10308document.write("正數超出範圍的值"+t1)document.write("<br />")var t2=-1.7976931348623157E+10308document.write("負數超出範圍的值"+t2)</script>
5:全域變數聲明
<Script>var langJS = "JavaScript"; //langJS是全域變數test(); function test() { var langVBS = "VBScript"; //langVBS是局部變數 document.write("<LI>" + langJS); document.write("<LI>" + langVBS); }document.write("<LI>" + langJS);document.write("<LI>" + langVBS);</Script>6:運算子號和加減乘除
<script language="JavaScript">var x = 11; var y = 5;with (document) { write("x = 11, y = 5"); write("<LI>x + y 是 ", x + y); write("<LI>x - y 是 ", x - y); write("<LI>x * y 是 ", x * y); write("<LI>x / y 是 ", x / y); write("<LI>x % y 是 ", x % y); write("<LI>++ x 是 ", ++ x); write("<LI>-- y 是 ", -- y); write("<LI>x 是 ", x); write("<LI>y 是 ", y); write("<LI>x-- 是 ", x--); write("<LI>y-- 是 ", y--);}</script>
7:++運算
<Script>var x = y = 3; with (document) { write("y++=",(y++),"<br>"); write("++y=",(++y),"<br>"); write("x = 3, y = 5 <br>"); write("若x = y++ 運算之後:"); x = y++;//y→x,y+1→y write("x 是 ", x, "; y 是 ", y, "<br>"); write("再作x = ++y 運算:"); x = ++y;//y+1→x,y+1→y write("x 是 ", x, "; y 是 ", y);}</Script>8:邏輯運算子且
&& || ! 例1:<Script>var t = true;var f = false;with(document) {write("<OL><LI>true && true 的結果是 ", t && t);write("<LI>true && false 的結果是 ", t && f);write("<LI>false && true 的結果是 ", f && t);write("<LI>false && false 的結果是 ", f && f);write("<LI>true && (1==1) 的結果是 ", t && (1==1));write("<LI>false && 'A' 的結果是 ", f && 'A');write("<LI>'A' && false 的結果是 ", 'A' && f);write("<LI>true && 'A' 的結果是 ", t && 'A');write("<LI>'A' && true 的結果是 ", 'A' && t);write("<LI>'A' && 'B' 的結果是 ", 'A' && 'B');write("<LI>1 && 1 的結果是 ", 1 && 1);write("<LI>1 && 0 的結果是 ", 1 && 0);write("<LI>true && 0 的結果是 ", true && 0);write("<LI>true && 1 的結果是 ", true && 1);write("<LI>true && '0' 的結果是 ", true && '0'); //&&:有一個不是邏輯值,只要第一個運算元的值為flase,則返回第一個運算元的值flase,否則,返回第二個運算元的值}</Script>9:邏輯運算子 或
<Script>var t = true;var f = false;with(document) {write("<OL><LI>true || true 的結果是 ", t || t);write("<LI>true || false 的結果是 ", t || f);write("<LI>false || true 的結果是 ", f || t);write("<LI>false || false 的結果是 ", f || f);write("<LI>true || (1==1) 的結果是 ", t || (1==1));write("<LI>false || 'A' 的結果是 ", f || 'A');write("<LI>'A' || false 的結果是 ", 'A' || f);write("<LI>true || 'A' 的結果是 ", t || 'A');write("<LI>'A' || true 的結果是 ", 'A' || t);write("<LI>'A' || 'B' 的結果是 ", 'A' || 'B');write("<LI>1 || 1 的結果是 ", 1 || 1);write("<LI>1 || 0 的結果是 ", 1 || 0);write("<LI>true || 0 的結果是 ", true || 0);write("<LI>true || 1 的結果是 ", true || 1);write("<LI>true || '0' 的結果是 ", true || '0'); //||:有一個不是邏輯值,只要第一個運算元為的值true、字元或非零的數字,則返回第一個運算元的值,否則,返回第二個運算元的值}</Script>10:邏輯運算子 取反
<Script>with(document) { write("<LI>!true 的結果是 ", !true); write("<LI>!false 的結果是 ", !false); write("<LI>!'A' 的結果是 ", !'A'); write("<LI>!0 的結果是 ", !0); write("<LI>!1 的結果是 ", !1); write("<LI>!2 的結果是 ", !2); write("<LI>!'0' 的結果是 ", !'0'); write("<LI>!'1' 的結果是 ", !'1'); write("<LI>!-1 的結果是 ", !-1);}</Script>11:邏輯運算優先順序
12:this關鍵字 this通常指向的是我們正在執行的函數本身,或者是指向該函數所屬的對象
<Script>function validate(obj) { alert("你輸入的值是:"+ obj.value);} </Script>請輸入任一字元:<BR><INPUT TYPE="text" onKeyup="validate(this)"><BR>當按鈕鬆開時執行指令碼 長按不會觸發13:條件運算子(三目運算子)
<Script>//forms 集合可返回對文檔中所有 Form 對象的引用。function showSex() {onOroff = document.forms[0].sex[0].checkedstatus = (onOroff)? "帥哥" : "美女"alert("Hello! " + status)}</Script> 請輸入你的性別:<FORM ><INPUT TYPE=radio NAME=sex onClick=showSex()>男生<INPUT TYPE=radio NAME=sex onClick=showSex()>女生</FORM>
14:備註陳述式
<Script>//單行注釋 /* 多行注釋 *///例:/**************************************** 源 碼 之 家 ** http://www.mycodes.net ** 下載:http://www.mycodes.net ** 論壇http://www.mycodes.net/bbs ******************************************/</Script>
15:if.......else......
<Script> var now = new Date();var hour = now.getHours();document.write(now);document.write("<br>");if (6 < hour && hour < 18) document.write ("現在"+hour+"點是白天");else document.write ("現在"+hour+"點是晚上");</Script>16:if.......else.....if
<Script> var now = new Date();var day = now.getDay();var dayName;if (day == 0) dayName = "星期日";else if (day == 1) dayName = "星期一";else if (day == 2) dayName = "星期二"; else if (day == 3) dayName = "星期三";else if (day == 4) dayName = "星期四"; else if (day == 5) dayName = "星期五";else dayName = "星期六"; document.write ("今天是快樂的", dayName);</Script>17:while語句
<Script> var i = 5;while ( i > 0 ) { document.write("i = " ,i ,"<BR>"); i--;} </Script>18:do.....while語句
<Script> var i = 5;do { document.write("i = " ,i ,"<BR>"); i--;} while ( i > 0 ) </Script>19:for迴圈語句
<Script> for ( var i = 5; i > 0; i-- ) { document.write("i = " ,i ,"<BR>");} </Script>20:for in(一)用法 遍曆一個數組的所有子集
<html><body><script type="text/javascript">var xvar mycars = new Array()mycars[0] = "Saab"mycars[1] = "Volvo"mycars[2] = "BMW"for (x in mycars){document.write(mycars[x] + "<br />")}</script></body></html>21:for in(二)用法 遍曆一個對象的所有屬性
<br>格式:<br><br>for ( 變數 in 對象 ){<br> <語句組><br>} <br><br>例:<br><Script>function member(name, sex) {//建構函式member this.name = name; this.sex = sex;}function showProperty(obj, objString) {var str = "";for (var i in obj) str += objString + "." + i + " = " + obj[i] + "<BR>"; return str;}papa = new member("楊宏文", "男生");//建立對象執行個體papadocument.write(showProperty(papa, "papa")) </Script>