javascript基礎(chǔ)語法.ppt
《javascript基礎(chǔ)語法.ppt》由會員分享,可在線閱讀,更多相關(guān)《javascript基礎(chǔ)語法.ppt(48頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、Javascript基礎(chǔ)語法,腳本編寫語言,是一種解釋性語言,但它不像這些語言一樣,需要先編譯,而是在程序運(yùn)行過程中被逐行地解釋。它與HTML標(biāo)識結(jié)合在一起,從而方便用戶的使用操作。 基于對象的語言 采用弱類型 客戶端語言,不允許訪問本地的硬盤,不能將數(shù)據(jù)存入到服務(wù)器上,這個功能要通過服務(wù)器端的技術(shù)(asp或者)實現(xiàn)。 JavaScript是采用以事件驅(qū)動的方式進(jìn)行的。 跨平臺性:JavaScript是依賴于瀏覽器本身,與操作環(huán)境無關(guān),只要能運(yùn)行瀏覽器的計算機(jī),并支持JavaScript的瀏覽器就可正確執(zhí)行。從而實現(xiàn)了“編寫一次,走遍天下”的夢想。 JavaScript不是java,1995年
2、12月升陽公司與網(wǎng)景通訊公司一起引入了JavaScript。1996年3月,網(wǎng)景通訊公司發(fā)表了支持JavaScript的網(wǎng)景導(dǎo)航者2.0。由于JavaScript作為網(wǎng)頁的客戶面腳本語言非常成功,微軟于1996年8月引入了Internet Explorer3.0,這個軟件支持一個“約”與JavaScript相容的JScript。它們都遵循最新的ECMAScript3.0標(biāo)準(zhǔn)。,一、關(guān)于JavaScript, 注意: (1)可以使用任何編輯器(包括notpad)編寫javascript腳本 (2)javascript是一個腳本語言,嵌入到HTML文件中,屬于解釋性語言,讀取順序自上而下 (3
3、)javascript語言以和作為一個解釋單元塊,可以放在任何的位置 (4)采用的方式引入。 (6)javascript語言可以不用;結(jié)尾,采用;結(jié)尾是為了符合c#語言的編程習(xí)慣 (7)單獨的一個只包含的html文件一樣可以執(zhí)行 (8)javascript語言區(qū)分大小寫 (9)javascript中的注釋采用//單行和/*多行 (10)javascript中的字符串可以采用也可以采用,二、編寫第一個JavaScript程序,(1)定義一個變量采用var,如: var aa; 注意:這里不可以定義數(shù)據(jù)類型,因為javascript是一個弱類型的語言 (2)賦值 aa=1; 注意:這里aa的數(shù)據(jù)類
4、型是根據(jù)輸入的值來決定 (3)或者直接aa=1; 注意:弱類型變量沒有編譯機(jī)制,所以很可能出現(xiàn)如下的語句 alert(aa+bb); 如果bb沒有賦值,則會出現(xiàn)一個錯誤,導(dǎo)致程序崩潰。 事實上,所有的變量在javascript中都可以被認(rèn)為是window對象的一個屬性,window對象就是我們默認(rèn)的當(dāng)前瀏覽器對象,加上if(window.bb) alert(aa+bb) else alert(bb沒有定義,程序返回),則比較安全可靠,三、定義變量與賦值,變量的命名,JavaScript中的變量命名同其計算機(jī)語言非常相似,這里要注意以下兩點:、必須是一個有效的變量,即變量以字母開頭,中間可以出現(xiàn)
5、數(shù)字如test1、text2等。除下劃線()作為連字符外,變量名稱不能有空格、()、()、(,)或其它符號。、不能使用JavaScript中的關(guān)鍵字作為變量。在JavaScript中定義了多個類鍵字,這些關(guān)鍵是JavaScript內(nèi)部使用的,不能作為變量的名稱。如Var、int、double、true不能作為變量的名稱。在對變量命名時,最好把變量的意義與其代表的意思對應(yīng)起來,以免出現(xiàn)錯誤。,變量的聲明及其作用域,JavaScript變量可以在使用前先作聲明,并可賦值。通過使用var關(guān)鍵字對變量作聲明。對變量作聲明的最大好處就是能及時發(fā)現(xiàn)代碼中的錯誤;因為JavaScript是采用動態(tài)編譯的,而
6、動態(tài)編譯是不易發(fā)現(xiàn)代碼中的錯誤,特別是變量命名的方面。對于變量還有一個重要性那就是變量的作用域。在JavaScript中同樣有全局變量和局部變量。全局變量是定義在所有函數(shù)體之外,其作用范圍是整個函數(shù);而局部變量是定義在函數(shù)體之內(nèi),只對其該函數(shù)是可見的,而對其它函數(shù)則是不可見的。,(1)數(shù)字類型:包括整數(shù)、小數(shù) 如:a=1; 注意:javascript中用一個特殊的字符串NaN用于表示非數(shù)據(jù),比如1-a,如果判斷一個字符串是否數(shù)字可以用isNaN (2)字符串類型 如:a=a; 注意:使用與使用效果一樣 (3)布爾類型 如:a=true; 注意: (1)日期類型以對象的形式出現(xiàn),關(guān)于日期類型在后
7、面會有具體描述 (2)當(dāng)一個變量定義了,如: var a; 但是沒有賦值,則為Undifined(注意:不是一個字符串) 從對象的角度,它也可以等于null 另外,關(guān)于轉(zhuǎn)義字符的描述: 以反斜杠()開頭的不可顯示的特殊字符,四、數(shù)據(jù)類型, var a=11; b=1.1; c=txt; d=true; e=txt; f=false; var g; alert(a+b); if (d==true)alert(e); if (f!=true)alert(c); alert(g); if (g==null)alert(g沒有賦值!); if (g==undefined)alert(g還是沒有賦值!)
8、; alert(); ,關(guān)于數(shù)據(jù)類型的綜合例子,(1)隱式轉(zhuǎn)換: 比如:var a=1,b=1; 則a+b返回的是11,那么a被轉(zhuǎn)換為字符類型了。 其隱式轉(zhuǎn)換的方式如下: 數(shù)字+字符串=字符串 布爾+字符串=字符串 布爾+數(shù)字=數(shù)字 (2)顯式轉(zhuǎn)換 通過函數(shù)來完成: parseInt()方法:將字符串轉(zhuǎn)換為整數(shù) parsetFloat()方法:將字符串轉(zhuǎn)換為小數(shù) 注意:parsetInt(3a)可以轉(zhuǎn)換為3而不報錯,五、隱式與顯式轉(zhuǎn)換,()算術(shù)運(yùn)算符+(加) 、-(減)、 *(乘)、 /(除)、 %(取模) 、++(遞加1)、--(遞減1) ()邏輯運(yùn)算符(大于)、=(大于等于)、= =(等于
9、)、!=(不等于) !(非)、 strSex = 女; if (strSex == 男) document.write(男性網(wǎng)友您好! ); else document.write(女性網(wǎng)友您好! ); document.write(歡迎使用JavaScript); ,if條件語句的例子,Switch語句的語法如下: Switch(布爾值) case 條件1: break; case 條件2: break; default: ,7.2、switch語句, var strPayment = master; switch (strPayment) case cash: document
10、.write(使用現(xiàn)金付款!); break; case visa: document.write(使用VISA信用卡付款!); break; case master: document.write(使用Master信用卡付款!); break; default: document.write(未知的付款方式!); break; ,switch語句的例子,語法如下: for(初始化;條件;增量)語句集;功能:實現(xiàn)條件循環(huán),當(dāng)條件成立時,執(zhí)行語句集,否則跳出循環(huán)體。,7.3、For循環(huán)語句, var i; var intTotal = 0; for (i = 1;
11、 i ); intTotal += i; document.write(總和: + intTotal + ); ,For循環(huán)語句的例子,語法如下:while(條件)語句集;,7.4、while循環(huán), var i = 1; var intTotal = 0; while (i ); intTotal += i; i++; document.write(總和: + intTotal + ); ,while循環(huán)的例子,語法如下: do 語句集; while(條件),7.5、dowhile循環(huán), var i = 1; var intTotal = 0; do document.write(數(shù)字
12、: + i + ); intTotal += i; i++; while (i 總和: + intTotal + ); ,dowhile循環(huán)的例子,使用break語句使得循環(huán)從For或while中跳出,continue使得跳過循環(huán)內(nèi)剩余的語句而進(jìn)入下一次循環(huán)。,7.6、break和continue語句, var target = 36; var number = 0; do number = window.prompt(輸入數(shù)字, number); if (number == null || number == target) break; if (number target)
13、 document.write(number + 太大); continue; else if (number != target) document.write(number + 太小); continue; while (true); if (number == null) document.write(不猜了! 答案為: + target + ); else document.write(猜對了! 答案為: + target + ); ,break和continue語句的例子,JavaScript中的函數(shù)有兩種: 8.1 自定義函數(shù) JavaScript
14、函數(shù)定義Function 函數(shù)名 (參數(shù)) 函數(shù)體;.Return 表達(dá)式;,八、函數(shù), function one2N(intnumber) var intTotal = 0; for(var i=1; i); 注意:(1)函數(shù)沒有參數(shù)類型以及返回值,因為是弱類型 (2)通過參數(shù)對象arguments.length獲得傳入的參數(shù)總個數(shù),通過arguments獲得傳入?yún)?shù)的值 (3)如果要獲取真實的參數(shù)個數(shù),要通過one2N.length,自定義函數(shù)的例子,8.2 系統(tǒng)函數(shù),使用這些函數(shù)不需創(chuàng)建任何實例,可直接用: 1.eval() :返回一個表達(dá)式的值 比如:eval(3+2); 返回5 2.
15、 返回浮點數(shù):parseFloat(floustring); 3. 返回整數(shù):parseInt(numbestring) 4. typeof():返回變量數(shù)據(jù)類型(如:“number”、“string”、“boolean”、“object”、“function” 和 “undefined”) 5. isNaN:檢查一個字符串是否是數(shù)字,系統(tǒng)函數(shù)的例子, document.write(變量strName: + typeof(100.56的編號) +); document.write(數(shù)字為: + parseInt(11a) + ); document.write(浮點數(shù)的總 和: + parse
16、Float(parseFloat(100abc) + 200.5) + ); document.write(a不是數(shù)值:+isNaN(a)+); document.write(字符串表達(dá)式的值: + eval(20 + 4 * 5) + ); ,Javascript語言之所以起名javascript是因為根據(jù)java語言而來,并不同于java語言,那么面向?qū)ο笫莏avascript語言的特征。 比如: 上面介紹的函數(shù)中的代碼:var intTotal = one2N(10,20); document.write(1加到10的值 : + intTotal + ); 可以寫成var intTota
17、l = window.one2N(10,20); document.write(1加到10的值 : + window.intTotal + ); 做為一個嵌入在瀏覽器中的腳本語言,所定義的所有變量都是window對象的數(shù)據(jù)成員,而定義的函數(shù)則是window對象的方法。 Javascript所支持的對象有如下三種: 內(nèi)置對象:String,Array, Date,Boolean,Math,Number,Error等都是內(nèi)置對象。 自定義對象:javascript能夠自己建立對象,擴(kuò)展javascript的程序功能。 瀏覽器對象:瀏覽器下的所有對象,又稱DHTML對象模型。,九、對象,Javasc
18、ript內(nèi)置對象分為隱性對象和顯性對象: 隱性對象:之前建立的主要的數(shù)據(jù)類型都屬于隱性對象,比如: var v1=1; var v2=“a”; var v3=true; 顯性對象:還可以利用內(nèi)置對象來實現(xiàn),比如: var v1=new Number(); v1=1; var v2=new String(); v2=“a”; var v3=new Boolean(); v3=true; Javascript支持的內(nèi)置對象有10個,包括: Number,Boolean,String,Date, Math, Array, Error,RegExp,Function,Object,9.1、內(nèi)置對象,語
19、法如下: new Boolean(); 注意:可以傳入?yún)?shù)形成帶參數(shù)的構(gòu)造函數(shù),比如: new Boolean(false),則形成一個false的變量。 可以傳入的參數(shù)包括: false,0,null,NaN或””,9.1.1、Boolean對象,語法如下: new Number(); 注意:可以傳入?yún)?shù)形成帶參數(shù)的構(gòu)造函數(shù),比如: new Number(11),則形成一個數(shù)值為11的變量。 NaN是Number的屬性,可以使用Number.NaN。,9.1.2、Number對象,9.1.3 字符串對象,語法如下: new String(); 注意:可以傳入?yún)?shù)形成帶參數(shù)的構(gòu)造函數(shù),比如:n
20、ew String(“aa”),則形成一個內(nèi)容為”aa”的變量 主要屬性: length。字符串中的字符個數(shù)。 主要方法: 有關(guān)字符顯示的控制: big()大字體顯示, Italics()斜體字顯示,bold()粗體字顯示,blink()字符閃爍顯示,small()小字體顯示,fixed()固定高亮字顯示、fontsize(size)控制字體大小 字體顏色:fontcolor(color) 字符串大小寫轉(zhuǎn)換:toLowerCase()小寫轉(zhuǎn)換, toUpperCase()大寫轉(zhuǎn)換 字符定位:indexOf(character,startIndex) 截取字符:substring(startin
21、dex,endindex),substr(index,length) 字符分割:split(string),字符串對象的例子, var str=JavaScript網(wǎng)頁制作研究; document.write(big(): + str.big() + ); document.write(blink(): + str.blink() + ); document.write(bold(): + str.bold() + ); document.write(fixed(): + str.fixed() + ); document.write(fontcolor(red): + str.fontcol
22、or(red) + ); document.write(fontsize(5): + str.fontsize(5) + ); document.write(italics(): + str.italics() + ); document.write(small(): + str.small() + ); document.write(strike(): + str.strike() + ); document.write(sub(): + str.sub() + ); document.write(sup(): + str.sup() + ); var str1=JavaScript; va
23、r str2= 網(wǎng)頁制作研究; document.write(英文字符substr(2, 4): + str1.substring(2, 4) + ); document.write(中文字符串substring(2, 5): + str2.substring(2, 5) + ); var str1=a,b,c; var result=str1.split(,); for(var i=0;i); ,9.1.4 日期對象,語法如下: new Date(); 注意:不帶參數(shù)的是一個系統(tǒng)時間,不能帶參數(shù)指定時間,如果指定時間需要設(shè)置日期時間函數(shù) 其常用的方法如下: 1.獲取日期的時間方法 getYe
24、ar(): 返回年數(shù) getMonth():返回當(dāng)月號數(shù)getDate(): 返回當(dāng)日號數(shù) getDay():返回星期幾 getHours():返回小時數(shù) getMintes(:返回分鐘數(shù) getSeconds():返回秒數(shù)getTime() : 返回毫秒數(shù) 2.設(shè)置日期和時間: setYear();設(shè)置年 setDate():設(shè)置當(dāng)月號數(shù) setMonth():設(shè)置當(dāng)月份數(shù) setHours():設(shè)置小時數(shù) setMintes():設(shè)置分鐘數(shù) setSeconds():設(shè)置秒數(shù) setTime ():設(shè)置毫秒數(shù) 3.日期輸出方法: 1)toGMTString,將一個日期按照GMT格式顯示
25、2)toLocaleString,將一個日期按照本地操作系統(tǒng)格式顯示 3)toLocaleDateString,按照本地格式顯示一個日期對象的日期部分 4)toLocaleTimeString,按照本地格式顯示一個日期對象的時間部分,日期對象的例子1, var weekday=new Array(星期日,星期一,星期二,星期叁,星期四,星期五,星期六); var dttoday = new Date(); // 獲取系統(tǒng)日期 var output = dttoday.getDate() + /; output += (dttoday.getMonth() + 1) + /; output +=
26、 dttoday.getFullYear() + ; document.write(系統(tǒng)日期: + output); // 獲取系統(tǒng)時間 output = dttoday.getHours() + :; output += dttoday.getMinutes() + :; output += dttoday.getSeconds() + ; document.write(系統(tǒng)時間: + output); document.write(weekdaydttoday.getDay()); document.write(); var newdate = new Date(); // 設(shè)定日期 ne
27、wdate.setDate(8); newdate.setMonth(4); newdate.setFullYear(2003); newdate.setHours(4); newdate.setMinutes(30); document.write(newdate.toLocaleString()); ,日期對象的例子2 顯示時鐘,見備注代碼,9.1.5 math對象,它不提供構(gòu)造函數(shù) 功能:提供除加、減、乘、除以外的一引些自述運(yùn)算。如對數(shù),平方根等 。 ()主要屬性 常數(shù)、以為底的自然對數(shù)、以為底的自然對數(shù)LN2、3.14159的PI、1/2的平方根SQRT1-2,2的平方根為SQRT2。
28、 ()主要方法 隨機(jī)數(shù):random() 絕對值:abs() 正弦余弦值:sin(),cos() 反正弦反余弦 :asin(), acos() 正切反正切:tan(),atan() 四舍五入:round() 平方根:sqrt() 基于幾方次的值:Pow(base,exponent),math對象的例子, document.write(E: + Math.E + ); document.write(LN2: + Math.LN2 + ); document.write(LN10: + Math.LN10 + ); document.write(LOG2E: + Math.LOG2E + );
29、document.write(LOG10E: + Math.LOG10E + ); document.write(PI: + Math.PI + ); document.write(SQRT1_2: + Math.SQRT1_2 + ); document.write(SQRT2: + Math.SQRT2 + ); document.write(四舍五入round(34.567): + Math.round(34.567) + ); document.write(四舍五入round(34.567): + Math.round(34.467) + ); document.write(隨機(jī)數(shù)ra
30、ndom(): + Math.random() + ); // 0-10的隨機(jī)數(shù) var no = Math.round(Math.random()*10); document.write(0-10隨機(jī)數(shù): + no + ); // 0-100的隨機(jī)數(shù) no = Math.round(Math.random()*100); document.write(0-100隨機(jī)數(shù): + no + ); ,JavaScript中通過Array對象實現(xiàn)數(shù)組功能,比如: var username=new Array(5); username0=joe; 也可以直接給數(shù)組賦值,如: var tips=new A
31、rray(100,200,500); 或者var tips=100,200,500,9.1.6 Array對象, var tips=new Array(100,200,500); var username=new Array(5); username0=joe; username1=jane; username2=Tony; username3=Merry; //使用循環(huán)顯示數(shù)組值 for(var i=0;i); //使用循環(huán)顯示數(shù)組值 for(var i=0;i); ,Array對象的例子,使用Array對象的嵌套實現(xiàn)多緯數(shù)組,比如: var users=new Array(5); for(
32、var i=0;i<5;i++) usersi=new Array(2); users00=joe; users01=1234; users10=jane; users11=5678; users40=Merry; users41=5678;,多維數(shù)組, //建立二維數(shù)組 var users=new Array(5); for(var i=0;i); ,多維數(shù)組的例子,Error對象保存了JavaScript運(yùn)行時產(chǎn)生的錯誤信息,通過number屬性獲取錯誤號,通過message屬性獲取錯誤信息。 通過try,catch,finally語句捕捉錯誤。 注意:返回的錯誤碼是一個32位的值,只有后
33、16位才是真正的錯誤碼。,9.1.7 Error對象, var x = 10; try x = y; // 測試的錯誤程序碼 catch(e) // 錯誤處理的程序碼 document.write(錯誤碼: + (e.number ,Error對象的例子,后面章節(jié)會講,9.1.8 RegExp對象,使用function的時候,系統(tǒng)自動創(chuàng)建了Function對象,比如: function add1(a,b)return a+b; 相當(dāng)于: add1=new Function(a,b,return a+b); 關(guān)于更深入的話題,見javascript自定義對象與擴(kuò)展課程,9.1.9 Function對象,Object對象是所有的對象的祖先,9.1.10 Object對象,總結(jié),Javascript是一個嵌入的客戶端編程腳本語言,它起源于java語法,但不是java,特別是面向?qū)ο蠓矫媾cjava語法差別非常大。 如果具有java或者c#的語言功底,則學(xué)習(xí)javascript的效果最好。,
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 設(shè)備采購常用的四種評標(biāo)方法
- 車間員工管理須知(應(yīng)知應(yīng)會)
- 某公司設(shè)備維護(hù)保養(yǎng)工作規(guī)程
- 某企業(yè)潔凈車間人員進(jìn)出管理規(guī)程
- 企業(yè)管理制度之5S管理的八個口訣
- 標(biāo)準(zhǔn)化班前會的探索及意義
- 某企業(yè)內(nèi)審員考試試題含答案
- 某公司環(huán)境保護(hù)考核管理制度
- 現(xiàn)場管理的定義
- 員工培訓(xùn)程序
- 管理制度之生產(chǎn)廠長的職責(zé)與工作標(biāo)準(zhǔn)
- 某公司各級專業(yè)人員環(huán)保職責(zé)
- 企業(yè)管理制度:5S推進(jìn)與改善工具
- XXX公司環(huán)境風(fēng)險排查及隱患整改制度
- 生產(chǎn)車間基層管理要點及建議