版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
北風網(wǎng)項目培訓第1講:ECMAScript語法基礎講師:風舞煙JavaScript系列講座本講內容1、ECMAScript簡介2、ECMAScript語法基礎一、了解ECMAScript歷史
1995年12月升陽公司與網(wǎng)景通訊公司一起引入了JavaScript。1996年3月,網(wǎng)景通訊公司發(fā)表了支持JavaScript的網(wǎng)景導航者2.0。由于JavaScript作為網(wǎng)頁的客戶面腳本語言非常成功,微軟于1996年8月引入了InternetExplorer3.0,這個軟件支持一個“約”與JavaScript相容的JScript。1996年11月網(wǎng)景通訊公司將JavaScript提交給歐洲計算機制造商協(xié)會進行標準化。ECMA-262的第一個版本于1997年6月被Ecma組織采納。ECMAScript是由ECMA-262標準化的腳本語言的名稱。JavaScript和JScript與ECMAScript相容,但包含超出ECMAScript的功能。
版本至今為止有三個ECMA-262版本(edition)發(fā)表,版本3的修訂版3.1和第4版正在工作中。各瀏覽器廠商對ECMA的支持許多程序,尤其是網(wǎng)頁瀏覽器支持ECMAScript。瀏覽器中的ECMAScript實現(xiàn)添加了與文檔對象模型的接口,可以通過腳本改變網(wǎng)頁的內容、結構和樣式。JavaScript之未來JS依舊是主流前端技術,正在研發(fā)的最新版本是ECMAScript4.0,加入了諸如Class,Interface,Package,Namespace以及Block等等。感覺JavaScript2.0將會變成和Java越來越接近的一種語言(這里指的是OO語法),類似于ActionScript,Adobe已經捐獻了ActionScriptVirtualMachine2的源代碼與Mozilla共同進行JavaScript2.0引擎的開發(fā)JavaScript是什么JavaScript的實現(xiàn)一個完整的JavaScript實現(xiàn)是由以下3個不同部分組成的.核心(ECMAScript)
文檔對象模型(DOM)
瀏覽器對象模型(BOM)
JavaScript是什么ECMAScriptECMAScript可以為不同種類的宿主環(huán)境提供核心的腳本編程能力,因此核心的腳本語言是與任何特定的環(huán)境分開進行規(guī)定的…簡單地說:ECMAScript描述了以下內容:語法類型語句關鍵字保留字運算符對象JavaScript是什么
ECMAScript僅僅是一個描述,定義了腳本語言的所有屬性、方法和對象.其他語言可以實現(xiàn)ECMAScript來作為功能的基準,JavaScript就是這樣
ECMAScriptJavaScriptActionScriptScriptEaseECMAScript基礎2.1關鍵字
Javascript關鍵字(ReservedWords)是指在Javascript語言中有特定含義,成為Javascript語法中一部分的那些字。Javascript關鍵字是不能作為變量名和函數(shù)名使用的。使用Javascript關鍵字作為變量名或函數(shù)名,會使Javascript在載入過程中出現(xiàn)編譯錯誤。
Javascript關鍵字列表:
breakdeletefunctionreturntypeof
casedoifswitchvar
catchelseinthisvoid
continuefalseinstanceofthrowwhile
debuggerfinallynewtruewith
defaultfornulltry
2.2保留字
Javascript還有一些未來關鍵字,這些字雖然現(xiàn)在沒有用到Javascript語言中,但是將來有可能用到。
Javascript保留字列表:
casedebuggerexportsuper
catchdefaultextendsswitch
classdofinallythrow
constenumimporttry什么是JavaScript腳本的執(zhí)行原理應用服務器IEIE解析HTML標簽和JavaScript腳本從服務器端下載含JavaScript的頁面返回響應客戶端請求含JS的頁面發(fā)送請求1用戶輸入23JavaScript的基本語法<HTML><HEAD><TITLE>腳本的基本結構</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部分的內容</H1></BODY></HTML>JavaScript的基本語法類型轉換注釋控制語句運算符號變量基本語法
變量的聲明和賦值
varcount;count=5;定義變量賦值“var”-用于聲明變量的關鍵字“count”-變量名varx,y,z=10;varcount=10;同時聲明和賦值變量聲明多個變量運算符號運算符對一個或多個變量或值(操作數(shù))進行運算,并返回一個新值根據(jù)所執(zhí)行的運算,運算符可分為以下類別:算術運算符
+、-、*、/、%、++、--、-(求反)比較運算符
==、!=、>、>=、<、<=邏輯運算符
&&、||、!邏輯控制語句if條件語句switch多分支語句for、while循環(huán)語句if(條件){//JavaScript代碼;}else{//JavaScript代碼;}switch(表達式){case常量1:
JavaScript語句1; break; case
常量2:
JavaScript語句2;
break; ...
default:JavaScript語句3;
}for(初始化;條件;增量){
語句集;
}while(條件){
語句集;}注釋單行注釋以//開始,以行末結束例如:<SCRIPTlanguage=“javascript”>//表示JavaScript代碼的開始多行注釋以/*開始,以*/結束,符號/*……*/指示中間的語句是該程序中的注釋。例如:/*helloWorld.html2007-9-29
第一個JavaScript程序*/ECMAScript基礎-數(shù)據(jù)類型2.3原始值和引用值原始值:存儲在棧(stack)中的簡單數(shù)據(jù)段,也就是說,它們的值直接存儲在變量訪問的位置引用值:存儲在堆(heap)中的對象,也就是說,存儲在變量處的值是一個指針,指向存儲對象的內存處2.4原始類型
ECMAScript有5種原始類型,即Undefined、Null、Boolean、Number、和StringECMAScript基礎-數(shù)據(jù)類型2.4.1Undefined類型
Undefined只是一個值即undefined,當聲明的變量未初使化時該變量初使化值是undefined.eg:vartemp;alert(temp)//output“undefined”
注意:function無返回值時,返回的也是undefinedeg:functionfunc1(){} vartest=func1(); alert(test);//output“undefined”ECMAScript基礎-數(shù)據(jù)類型2.4.2Null類型
Null類型的字面量的值是null.值undefined實際上是從值null派生來的,因此ECMAScript把它們定義為相等的.alert(null==undefined)//output“true”
注意:盡管這兩個值相等,但含義不同,null表示尚未存在的對象,undefined則代表變量未初使化eg:functiontest(){returnnull;}; varobj=test();alert(typeofobj)//output“[Object]”ECMAScript基礎-數(shù)據(jù)類型2.4.3Boolean類型
它們有兩個Boolean類型的字面量值true和false2.4.4Number類型
這種類型即可表示32位的整數(shù),還可表示64位浮點數(shù)
eg:variNum=55;variNum=55.5;variNum=3.12e7;variNum=070;//八進制;等價于10進制的56variNum=0xAB;//十六進制;等價于171ECMAScript基礎-數(shù)據(jù)類型對值或變量調用typeof運算符將返回下列值之一:“undefined”“boolean”“number”“string”“object”:如果變量是一種引用類型或Null類型的ECMAScript基礎-數(shù)據(jù)類型2.4.5String類型
String類型的獨特之處在于,它是一個唯一沒有固定大小的原始類型.說明:常用的String的轉義字符
\n換行;\b空格;\r回車;\\反斜杠;\’單引號;\”雙引號typeof
運算符
typeof運算符有一個參數(shù),即要檢查的變量或值,eg:
var
stemp=“hellow”;
alert(typeof(stemp));//output“string”alert(typeof(95));//output“number”ECMAScript基礎-數(shù)據(jù)類型2.5轉換
2.5.1:轉換為字符串:
a.toString()方法
1.Boolean類型的toString()方法只是輸出“true”或”false”eg:varbtest=true;alert(btest.toString());//output“true”
2.Number類型的toString()方法比較特殊,它有兩種模式,即默認模式和基模式采用默認模式,toString()方法只是用相應的字符串輸出數(shù)字值采用基模式,可以轉換為不同進制的;eg:varnum=10; alert(num.toString(2));//output“1010” alert(num.toString(8));//output“12” alert(num.toString(16));//output“a”ECMAScript基礎-數(shù)據(jù)類型2.5.2轉換為數(shù)字
ECAScript提供了兩種把非數(shù)字轉換為數(shù)字的方法,即parseInt()和parseFloat().只有對String類型調用這些方法,它們才能正常運行;對其他類型返回的都是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基礎2.5.3強類型轉換使用強類型轉換可以轉換特定的值,即使它是另外一種類型.(非String類型).ECMAScript中可用的3種強類型轉換如下:
Boolean(value)Number(value)String(value)
在處理ECMAScript這樣的弱類型語言時,強類型轉換非常有用,不過應該確保使用值的正確.ECMAScript基礎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運算符在使用typeof運算符時采用引用類型存儲值時會出現(xiàn)一個問題,無論引用的是什么類型的對象,它都會返回”object”.ESCMAScript引用另一個運算符instanceof來解決這個問題如:varostring=newString(“hellow”);alert(ostringinstanceofString);//output“true”2.8、部分運算符2.8.1:deletedelete運算符刪除對以前定義的對象屬性和方法的引用。如:
varo=newObject();="tom";alert();//output“tom”;delete;alert();//outpub“undefinded”注:delete運算符不能刪除開發(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)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 職業(yè)衛(wèi)生各類管理制度
- 養(yǎng)生館衛(wèi)生許可管理制度
- 陜西省村級集體財務制度
- 高中生衛(wèi)生間管理制度
- 幼兒園財務制度
- 村環(huán)境衛(wèi)生協(xié)會制度
- 土方堆放環(huán)境衛(wèi)生制度
- 食堂運營檔口管理制度
- 大食堂安全運營管理制度
- 農林開發(fā)公司財務制度
- 婦幼衛(wèi)生上報管理制度
- (新教材)2026年春期部編人教版二年級下冊語文教學計劃及進度表
- 濕疹患者的護理查房
- 2026黑龍江省文化和旅游廳所屬事業(yè)單位招聘工作人員21人考試參考試題及答案解析
- 破產管理人業(yè)務培訓制度
- 環(huán)境應急培訓課件
- 2026河南鄭州信息工程職業(yè)學院招聘67人參考題庫含答案
- 2026年中國煙草招聘筆試綜合知識題庫含答案
- 安排工作的協(xié)議書
- 醫(yī)療機構藥品配送服務評價體系
- 業(yè)務持續(xù)性與災難恢復模板
評論
0/150
提交評論