版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
北風(fēng)網(wǎng)項(xiàng)目培訓(xùn)第1講:ECMAScript語法基礎(chǔ)講師:風(fēng)舞煙JavaScript系列講座本講內(nèi)容1、ECMAScript簡介2、ECMAScript語法基礎(chǔ)一、了解ECMAScript歷史
1995年12月升陽公司與網(wǎng)景通訊公司一起引入了JavaScript。1996年3月,網(wǎng)景通訊公司發(fā)表了支持JavaScript的網(wǎng)景導(dǎo)航者2.0。由于JavaScript作為網(wǎng)頁的客戶面腳本語言非常成功,微軟于1996年8月引入了InternetExplorer3.0,這個軟件支持一個“約”與JavaScript相容的JScript。1996年11月網(wǎng)景通訊公司將JavaScript提交給歐洲計(jì)算機(jī)制造商協(xié)會進(jìn)行標(biāo)準(zhǔn)化。ECMA-262的第一個版本于1997年6月被Ecma組織采納。ECMAScript是由ECMA-262標(biāo)準(zhǔn)化的腳本語言的名稱。JavaScript和JScript與ECMAScript相容,但包含超出ECMAScript的功能。
版本至今為止有三個ECMA-262版本(edition)發(fā)表,版本3的修訂版3.1和第4版正在工作中。各瀏覽器廠商對ECMA的支持許多程序,尤其是網(wǎng)頁瀏覽器支持ECMAScript。瀏覽器中的ECMAScript實(shí)現(xiàn)添加了與文檔對象模型的接口,可以通過腳本改變網(wǎng)頁的內(nèi)容、結(jié)構(gòu)和樣式。JavaScript之未來JS依舊是主流前端技術(shù),正在研發(fā)的最新版本是ECMAScript4.0,加入了諸如Class,Interface,Package,Namespace以及Block等等。感覺JavaScript2.0將會變成和Java越來越接近的一種語言(這里指的是OO語法),類似于ActionScript,Adobe已經(jīng)捐獻(xiàn)了ActionScriptVirtualMachine2的源代碼與Mozilla共同進(jìn)行JavaScript2.0引擎的開發(fā)JavaScript是什么JavaScript的實(shí)現(xiàn)一個完整的JavaScript實(shí)現(xiàn)是由以下3個不同部分組成的.核心(ECMAScript)
文檔對象模型(DOM)
瀏覽器對象模型(BOM)
JavaScript是什么ECMAScriptECMAScript可以為不同種類的宿主環(huán)境提供核心的腳本編程能力,因此核心的腳本語言是與任何特定的環(huán)境分開進(jìn)行規(guī)定的…簡單地說:ECMAScript描述了以下內(nèi)容:語法類型語句關(guān)鍵字保留字運(yùn)算符對象JavaScript是什么
ECMAScript僅僅是一個描述,定義了腳本語言的所有屬性、方法和對象.其他語言可以實(shí)現(xiàn)ECMAScript來作為功能的基準(zhǔn),JavaScript就是這樣
ECMAScriptJavaScriptActionScriptScriptEaseECMAScript基礎(chǔ)2.1關(guān)鍵字
Javascript關(guān)鍵字(ReservedWords)是指在Javascript語言中有特定含義,成為Javascript語法中一部分的那些字。Javascript關(guān)鍵字是不能作為變量名和函數(shù)名使用的。使用Javascript關(guān)鍵字作為變量名或函數(shù)名,會使Javascript在載入過程中出現(xiàn)編譯錯誤。
Javascript關(guān)鍵字列表:
breakdeletefunctionreturntypeof
casedoifswitchvar
catchelseinthisvoid
continuefalseinstanceofthrowwhile
debuggerfinallynewtruewith
defaultfornulltry
2.2保留字
Javascript還有一些未來關(guān)鍵字,這些字雖然現(xiàn)在沒有用到Javascript語言中,但是將來有可能用到。
Javascript保留字列表:
casedebuggerexportsuper
catchdefaultextendsswitch
classdofinallythrow
constenumimporttry什么是JavaScript腳本的執(zhí)行原理應(yīng)用服務(wù)器IEIE解析HTML標(biāo)簽和JavaScript腳本從服務(wù)器端下載含JavaScript的頁面返回響應(yīng)客戶端請求含JS的頁面發(fā)送請求1用戶輸入23JavaScript的基本語法<HTML><HEAD><TITLE>腳本的基本結(jié)構(gòu)</TITLE><SCRIPTlanguage="javascript"> varcount=0; document.write("淘寶網(wǎng)歡迎您!"); for(i=0;i<5;i++) document.write("<H2>淘寶網(wǎng)歡迎您!</H2>");</SCRIPT></HEAD><BODY><H1>BODY部分的內(nèi)容</H1></BODY></HTML>JavaScript的基本語法類型轉(zhuǎn)換注釋控制語句運(yùn)算符號變量基本語法
變量的聲明和賦值
varcount;count=5;定義變量賦值“var”-用于聲明變量的關(guān)鍵字“count”-變量名varx,y,z=10;varcount=10;同時聲明和賦值變量聲明多個變量運(yùn)算符號運(yùn)算符對一個或多個變量或值(操作數(shù))進(jìn)行運(yùn)算,并返回一個新值根據(jù)所執(zhí)行的運(yùn)算,運(yùn)算符可分為以下類別:算術(shù)運(yùn)算符
+、-、*、/、%、++、--、-(求反)比較運(yùn)算符
==、!=、>、>=、<、<=邏輯運(yùn)算符
&&、||、!邏輯控制語句if條件語句switch多分支語句for、while循環(huán)語句if(條件){//JavaScript代碼;}else{//JavaScript代碼;}switch(表達(dá)式){case常量1:
JavaScript語句1; break; case
常量2:
JavaScript語句2;
break; ...
default:JavaScript語句3;
}for(初始化;條件;增量){
語句集;
}while(條件){
語句集;}注釋單行注釋以//開始,以行末結(jié)束例如:<SCRIPTlanguage=“javascript”>//表示JavaScript代碼的開始多行注釋以/*開始,以*/結(jié)束,符號/*……*/指示中間的語句是該程序中的注釋。例如:/*helloWorld.html2007-9-29
第一個JavaScript程序*/ECMAScript基礎(chǔ)-數(shù)據(jù)類型2.3原始值和引用值原始值:存儲在棧(stack)中的簡單數(shù)據(jù)段,也就是說,它們的值直接存儲在變量訪問的位置引用值:存儲在堆(heap)中的對象,也就是說,存儲在變量處的值是一個指針,指向存儲對象的內(nèi)存處2.4原始類型
ECMAScript有5種原始類型,即Undefined、Null、Boolean、Number、和StringECMAScript基礎(chǔ)-數(shù)據(jù)類型2.4.1Undefined類型
Undefined只是一個值即undefined,當(dāng)聲明的變量未初使化時該變量初使化值是undefined.eg:vartemp;alert(temp)//output“undefined”
注意:function無返回值時,返回的也是undefinedeg:functionfunc1(){} vartest=func1(); alert(test);//output“undefined”ECMAScript基礎(chǔ)-數(shù)據(jù)類型2.4.2Null類型
Null類型的字面量的值是null.值undefined實(shí)際上是從值null派生來的,因此ECMAScript把它們定義為相等的.alert(null==undefined)//output“true”
注意:盡管這兩個值相等,但含義不同,null表示尚未存在的對象,undefined則代表變量未初使化eg:functiontest(){returnnull;}; varobj=test();alert(typeofobj)//output“[Object]”ECMAScript基礎(chǔ)-數(shù)據(jù)類型2.4.3Boolean類型
它們有兩個Boolean類型的字面量值true和false2.4.4Number類型
這種類型即可表示32位的整數(shù),還可表示64位浮點(diǎn)數(shù)
eg:variNum=55;variNum=55.5;variNum=3.12e7;variNum=070;//八進(jìn)制;等價(jià)于10進(jìn)制的56variNum=0xAB;//十六進(jìn)制;等價(jià)于171ECMAScript基礎(chǔ)-數(shù)據(jù)類型對值或變量調(diào)用typeof運(yùn)算符將返回下列值之一:“undefined”“boolean”“number”“string”“object”:如果變量是一種引用類型或Null類型的ECMAScript基礎(chǔ)-數(shù)據(jù)類型2.4.5String類型
String類型的獨(dú)特之處在于,它是一個唯一沒有固定大小的原始類型.說明:常用的String的轉(zhuǎn)義字符
\n換行;\b空格;\r回車;\\反斜杠;\’單引號;\”雙引號typeof
運(yùn)算符
typeof運(yùn)算符有一個參數(shù),即要檢查的變量或值,eg:
var
stemp=“hellow”;
alert(typeof(stemp));//output“string”alert(typeof(95));//output“number”ECMAScript基礎(chǔ)-數(shù)據(jù)類型2.5轉(zhuǎn)換
2.5.1:轉(zhuǎn)換為字符串:
a.toString()方法
1.Boolean類型的toString()方法只是輸出“true”或”false”eg:varbtest=true;alert(btest.toString());//output“true”
2.Number類型的toString()方法比較特殊,它有兩種模式,即默認(rèn)模式和基模式采用默認(rèn)模式,toString()方法只是用相應(yīng)的字符串輸出數(shù)字值采用基模式,可以轉(zhuǎn)換為不同進(jìn)制的;eg:varnum=10; alert(num.toString(2));//output“1010” alert(num.toString(8));//output“12” alert(num.toString(16));//output“a”ECMAScript基礎(chǔ)-數(shù)據(jù)類型2.5.2轉(zhuǎn)換為數(shù)字
ECAScript提供了兩種把非數(shù)字轉(zhuǎn)換為數(shù)字的方法,即parseInt()和parseFloat().只有對String類型調(diào)用這些方法,它們才能正常運(yùn)行;對其他類型返回的都是NaN.Eg:variNum1=parseInt(“1234abc”);//return1234variNum2=parseInt(“0xA”);//return10variNum3=parseInt(“22.5”);//return22;variNum4=parseInt(“test”);//returnNaN注:parseInt方法還有基模式:
eg:alert(parseInt("10",2));//return2alert(parseInt(“10”,8));//return8alert(parseInt(“10”,10);//return10alert(parseInt(“010”))=>8alert(parseInt(“010”,8))=>8alert(parseInt(“010”,10))=>10ECMAScript基礎(chǔ)2.5.3強(qiáng)類型轉(zhuǎn)換使用強(qiáng)類型轉(zhuǎn)換可以轉(zhuǎn)換特定的值,即使它是另外一種類型.(非String類型).ECMAScript中可用的3種強(qiáng)類型轉(zhuǎn)換如下:
Boolean(value)Number(value)String(value)
在處理ECMAScript這樣的弱類型語言時,強(qiáng)類型轉(zhuǎn)換非常有用,不過應(yīng)該確保使用值的正確.ECMAScript基礎(chǔ)2.6引用類型引用類型通常叫作類,如:varobj=newObject();
注意:也可寫為varobj=newObject;
2.6.1:Object類
Object類類似于Java中的java.loang.object類,ECMAScript中的所有類都由這個類繼承而來.Object類具有下列屬性
a.Constructor--對創(chuàng)建對象的函數(shù)引用.b.Prototype–對該對象的對象原型的引用
c.HasOwnProperty(property)–判斷對象是否有某個特定的屬性.如:o.hasOwnProperty(“name”).e.toString()–返回對象的原始字符串表示.2.6.2:Boolean類2.6.3:Number類2.6.4:String類2.7:instanceof運(yùn)算符在使用typeof運(yùn)算符時采用引用類型存儲值時會出現(xiàn)一個問題,無論引用的是什么類型的對象,它都會返回”object”.ESCMAScript引用另一個運(yùn)算符instanceof來解決這個問題如:varostring=newString(“hellow”);alert(ostringinstanceofString);//output“true”2.8、部分運(yùn)算符2.8.1:deletedelete運(yùn)算符刪除對以前定義的對象屬性和方法的引用。如:
varo=newObject();="tom";alert();//output“tom”;delete;alert();//outpub“undefinded”注:delete運(yùn)算符不能刪除開發(fā)者未定義的屬性和方法。如:deleteo.toString//error2.8:語句
2.8.1:if(condition1)statement1;elseif(condtion2)statement2;elsestatement3;2.8.2:迭代語句
do{statement}while(expression)While語句
While(expression)statementfor語句如:for(vari=0;i<10;i++){alert(i);}for-in語句
for(spropinwindow){alert(sprop);}breakcontinuewith語句
with(expression)statementeg:varsMessage=“hellowworld”;with(sMessage){alert(toUpperCase());}switch語句
同c#中的swith語法,和java的switch相同,不同的是switch語句可以用于字符串。
函數(shù)
functionfunctionName(arg0,arg1…,argn){statement[returnvalue;]}無重載
ECMAScript中的函數(shù)不能重載.
可用相同的名字在同一個作用域中定義,而不會引發(fā)錯誤,但真正使用的是后一個函數(shù).argument對象在函數(shù)代碼中,使用特殊對象arguments,開發(fā)者無需明確指出參數(shù)名,就能訪問它。如:functionsayHi(){if(arguments[0]==undefined){
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 團(tuán)隊(duì)安全協(xié)議合同模板模板
- 鄉(xiāng)村快遞轉(zhuǎn)讓合同模板
- 大連供熱合同模板
- 房屋租賃合同模板租房合同
- 大客戶返利合同模板
- 防洪評價(jià)編制合同模板
- 鉆井降水施工合同模板
- 自有庫房出租合同模板
- 供水改造合同模板
- 服裝店轉(zhuǎn)讓合同模板
- 6.2 交友的智慧(課 件)-2024-2025學(xué)年統(tǒng)編版道德與法治七年級上冊
- 清華大學(xué)中學(xué)生標(biāo)準(zhǔn)學(xué)術(shù)能力診斷性測試2025屆英語高三上期末監(jiān)測試題含解析
- 2023年河北張家口銀行股份有限公司招聘微貸業(yè)務(wù)信貸經(jīng)理考試真題
- 11《宇宙生命之謎》第二課時 教學(xué)設(shè)計(jì)-2024-2025學(xué)年語文六年級上冊統(tǒng)編版
- 2024年全國職業(yè)院校技能大賽高職組(環(huán)境檢測與監(jiān)測賽項(xiàng))考試題庫(含答案)
- 2024年高考英語時事熱點(diǎn):航天主題(附答案解析)
- 2024-2030年工業(yè)自動化行業(yè)市場發(fā)展分析及發(fā)展前景與投資機(jī)會研究報(bào)告
- 國外工程項(xiàng)目合同范本
- JT∕T 937-2014 在用汽車噴烤漆房安全評價(jià)規(guī)范
- 人教版小學(xué)四年級道德與法治上冊《第四單元 讓生活多一些綠色》大單元整體教學(xué)設(shè)計(jì)
- 《麻雀》教學(xué)課件(第二課時)
評論
0/150
提交評論