JavaScript程序設計基礎與實戰(zhàn)- 課件 模塊2 JavaScript編程基礎及應用_第1頁
JavaScript程序設計基礎與實戰(zhàn)- 課件 模塊2 JavaScript編程基礎及應用_第2頁
JavaScript程序設計基礎與實戰(zhàn)- 課件 模塊2 JavaScript編程基礎及應用_第3頁
JavaScript程序設計基礎與實戰(zhàn)- 課件 模塊2 JavaScript編程基礎及應用_第4頁
JavaScript程序設計基礎與實戰(zhàn)- 課件 模塊2 JavaScript編程基礎及應用_第5頁
已閱讀5頁,還剩39頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

JavaScript編程基礎及應用JavaScript程序設計基礎與實戰(zhàn)Learning

andpractice時間:演講人:目錄/DIRECTORY1.ECMAScript的關鍵字與保留字2.JavaScript的常量3.JavaScript的變量4.JavaScript的數(shù)據(jù)類型5.typeof運算符與數(shù)據(jù)類型的檢測6.JavaScript數(shù)據(jù)類型的轉換7.字符串的基本操作8.JavaScript的運算符與表達式9.

實戰(zhàn)演練ECMAScript的關鍵字與保留字1.ECMAScript的關鍵字JavaScript語句通常通過某個關鍵字來標識需要執(zhí)行的JavaScript操作,如關鍵字var標識變量聲明,function標識函數(shù)聲明。ECMA-262定義了ECMAScript支持的一套關鍵字(Keyword),根據(jù)規(guī)定,關鍵字不能用作變量名或函數(shù)名等標識符。表2-1所示為ECMAScript的關鍵字。如果把關鍵字用作變量名或函數(shù)名,則可能得到諸如“IdentifierExpected”(應為標識符)這樣的錯誤提示消息。ECMAScript的關鍵字與保留字2.ECMAScript的保留字ECMA-262定義了ECMAScript支持的一套保留字(ReservedWord)。保留字在某種意義上是為將來的關鍵字而保留的單詞,因此保留字也不能被用作變量名或函數(shù)名等標識符。ECMA-262第三版中的保留字如表2-2所示。ECMAScript的關鍵字與保留字ECMA-262第五版在非嚴格模式下減少了一些保留字,非嚴格模式下的保留字有class、const、enum、extends、export、import、super;嚴格模式下的保留字有implements、interface、package、public、private、protected、static、yield、let,其中l(wèi)et和yield是ECMA-262第五版新增的。對于ECMA-262第三版,如果使用關鍵字和保留字作為標識符,則會拋出錯誤。在ECMA-262第五版中,對關鍵字和保留字的使用規(guī)則進行了一點兒修改,雖然同樣不可以將關鍵字和保留字作為變量名、函數(shù)名,但是它們可以作為函數(shù)的屬性名使用。但最好不要用關鍵字和保留字作為屬性名、變量名、函數(shù)名,避免以后對使用規(guī)則再做改動時代碼中產生沖突。除此之外,ECMA-262第五版對eval和arguments施加了限制,在嚴格模式下,這兩個單詞也不能作為變量名、函數(shù)名或屬性名,否則將會出錯。JavaScript的常量JavaScript包括兩種類型的值,即字面值和變量值,字面值也稱為常量。JavaScript中的常量主要包括字符串型常量、數(shù)字型常量、布爾常量、全局常量和Infinity等。1.字符串型常量字符串(String)型常量是使用單引號('')或雙引號("")標識的一個或幾個字符??兆址皇莡ndefined,它既有合法值又有類型。例如:lettxt="";//值是"",類型是字符串型2.數(shù)字型常量JavaScript只有一種數(shù)值類型,即數(shù)字(Number)型。數(shù)字型常量是其值不能改變的數(shù)據(jù),賦值時可以帶小數(shù)點,也可以不帶小數(shù)點。數(shù)字型常量不帶小數(shù)點時為整型常量,可以使用十進制、十六進制、八進制表示其值;帶小數(shù)點時為實型常量,由整數(shù)部分加小數(shù)部分表示。例如:varx=3.14;//帶小數(shù)點的數(shù)字vary=3;//不帶小數(shù)點的數(shù)字數(shù)字型常量也可以使用科學記數(shù)法表示。例如:varx=123e4;//1230000vary=123e-4;//0.0123與許多編程語言不同,JavaScript不會定義不同類型(如整型、短整型、長整型、浮點型等)的數(shù)字。JavaScript的數(shù)字始終以雙精度浮點數(shù)(64位)來存儲,其中第1~52位用于存儲數(shù)字(底數(shù)),第53~63位用于存儲指數(shù),第64位用于存儲符號。3.布爾常量布爾(Boolean)常量只有兩種值,即true或false,主要用來說明或代表一種狀態(tài)或標志。JavaScript提供了一種布爾型常量,它只接受值true或false。JavaScript表達式的布爾值是比較運算和條件判斷的基礎。(1)布爾值trueJavaScript中所有“真實”值的布爾值為true。例如:100、3.14、-15、"Hello"、"false"、7+1、3.14、5<6。(2)布爾值falseJavaScript中所有“不真實”值的布爾值為false。1.0(零)的布爾值為false示例代碼:varx=-0;2.-0(負零)的布爾值為false示例代碼:varx=-0;Boolean(x);//返回falseJavaScript的常量3.""(空字符串)的布爾值為false示例代碼:varx="";Boolean(x);//返回false4.undefined

的布爾值為false示例代碼:varx;Boolean(x);//返回false5.null

的布爾值為false示例代碼:varx=null;Boolean(x);//返回false6.NaN

的布爾值為false示例代碼:varx=10/"H";Boolean(x);//返回false7.false

的布爾值為false示例代碼:varx=false;Boolean(x);//返回false注意:建議不要創(chuàng)建Boolean對象,因為它會拖慢代碼的執(zhí)行速度。此外,new

關鍵字會使代碼復雜化,可能會產生某些意想不到的結果。JavaScript的常量4.全局常量NaN?NaN

是JavaScript的全局常量,表示非數(shù)字(NotaNumber),其本身的數(shù)據(jù)類型是數(shù)字類型。?typeofNaN

返回“number”。示例代碼:alert(typeofNaN);//顯示為numberalert(NaN==NaN);//顯示為false?NaN不等于其自身:實際上,NaN不等于任何東西。要確認是否是NaN只能使用isNaN()。示例代碼:alert(isNaN(NaN));//顯示為true?使用非法數(shù)字字符串進行除法運算,會得到NaN:示例代碼:varx=100/"len";//x將是NaNisNaN(x);//返回true,因為x不是數(shù)字?若字符串中包含數(shù)字,則數(shù)學運算的結果將是數(shù)字:示例代碼:varx=100/"10";//x將是10?若在數(shù)字表達式中使用了NaN,則運算結果也將是NaN:示例代碼:varx=NaN;vary=5;vars=x+y;//s將是NaNJavaScript的常量5.Infinity?Infinity(或-Infinity)是JavaScript在計算數(shù)值且結果超出最大(或最?。┛赡軘?shù)值范圍時返回的值。?Infinity的數(shù)據(jù)類型是數(shù)字類型,typeofInfinity

返回“number”。?除以0(零)也會生成Infinity。示例代碼:varx=2/0;//x將是Infinityvary=-2/0;//y將是–InfinityJavaScript的常量3.JavaScript的變量1.變量的概念與命名變量是內存中存取數(shù)據(jù)值的容器。例如:varname="李明";//創(chuàng)建名為name的變量,并為其賦值“李明”varx=2;vary=3;varz=x+y;在JavaScript中,可以用字母或單詞表示變量名。JavaScript中的變量可用于存放常量的值(如x=2)和表達式的值(如z=x+y)。變量可以使用短名稱(如x和y),也可以使用描述性更好的名稱(如name、age、sum、total、volume)。變量的命名規(guī)則如下。(1)變量名必須以字母開頭,后面的字符可以為字母、數(shù)字、下畫線(_)和美元符號($),變量名稱不能有空格、+、-等字符。JavaScript變量的名稱允許以美元符號和下畫線開頭,但不推薦這樣做。(2)變量名對字母大小寫敏感(如num和Num是不同的變量名),JavaScript語句和JavaScript變量都對字母大小寫敏感。(3)JavaScript的關鍵字、保留字都不能用作變量名。3.JavaScript的變量2.JavaScript變量的聲明與賦值(1)單個變量的聲明與賦值。在JavaScript中創(chuàng)建變量通常稱為“聲明”變量??梢允褂胿ar關鍵字來聲明變量。例如:varname;變量聲明之后,變量是空的,此時它沒有值。使用賦值運算符(=)可以為變量賦值。例如:name="李明";也可以在聲明變量時為其賦值。例如:varname="李明";該語句表示創(chuàng)建名為name的變量,并為其賦值“李明”。2)多個變量的聲明與賦值??梢栽谝粭l語句中聲明多個變量。該語句以var開頭,并使用逗號分隔變量。例如:varname="李明",age=26,job="程序員";多個變量的聲明也可跨多行。例如:varname="李明",age=26,job="程序員";3.JavaScript的變量3.JavaScript變量類型的聲明聲明新變量時,可以使用關鍵字new來聲明其類型。例如:varname=newString;varx=newNumber;vary=newBoolean;varcolor=newArray;varbook=newObject;JavaScript變量均為對象,當聲明一個變量后,就創(chuàng)建了一個新的對象。4.ES6的變量聲明ES6還引入了另一個重要的JavaScript新關鍵字:let,用于在JavaScript中聲明塊作用域變量。(1)let的主要作用。let的主要作用如下。①禁止重復聲明。②支持塊作用域。③控制隨意修改。3.JavaScript的變量(2)let和var聲明變量的主要區(qū)別。let和var聲明變量的主要區(qū)別如下。①let聲明的變量只在let所在的代碼塊內有效,而var聲明的變量在全局范圍內有效。②let不能重復聲明變量,但是可以修改變量,而var可以重復聲明變量,但是會覆蓋之前已經聲明的變量。③var聲明變量時存在變量提升,也就是在聲明變量之前就可以使用該變量。而使用let時,變量必須先聲明再使用。④使用var聲明的變量可以重復聲明、沒有塊作用域的限制。(3)使用var聲明全局變量。var是variable的縮寫,用于聲明全局變量。通過var關鍵字聲明的變量沒有塊作用域的限制,在代碼塊內聲明的變量,可以在代碼塊之外進行訪問。先分析以下代碼:{varnum=2;}console.log(num);//這里的num指的是代碼塊中的num上述代碼的輸出結果為2。因為var聲明的是全局變量,所以即使是在塊內聲明的變量,仍然會在全局范圍內起作用。在ES6之前,JavaScript是沒有塊作用域的。3.JavaScript的變量再來分析以下這段代碼:varx=2;//此處x的值為2{varx=3;//此處x的值為3}console.log(x);//這里的x指的是代碼塊中的x//此處x的值為3上述代碼的輸出結果為3,因為var是全局聲明的,在塊內重新聲明的變量也將覆蓋塊外聲明的變量。因此,使用var聲明的變量,有時候會“污染”JavaScript代碼的整個作用域,造成變量值不確定。(4)使用let聲明局部變量??梢允褂胠et關鍵字聲明擁有塊作用域的變量。在塊內聲明的變量無法從塊外訪問。例如:{letx=3;}//此處不可以使用x使用let關鍵字重新聲明的變量不會覆蓋塊外聲明的變量。3.JavaScript的變量分析以下代碼:varx=2;{letx=3;}console.log(x);上述代碼的輸出結果為2,因為使用let聲明的變量只在局部(塊作用域內)起作用。let還具有防止數(shù)據(jù)污染的功能。我們來分析下面這個for循環(huán)的經典示例。①使用var聲明變量。例如:for(vari=0;i<10;i++){//每循環(huán)一次,就會在for循環(huán)的塊作用域中重新聲明一個新的iconsole.log('循環(huán)體中:'+i);}console.log('循環(huán)體外:'+i);執(zhí)行上述代碼可以正常輸出結果,且最后一行的輸出結果是10。這說明循環(huán)體內聲明的變量i是在全局范圍內起作用的。3.JavaScript的變量②使用let聲明變量。例如:for(leti=0;i<10;i++){console.log('循環(huán)體中:'+i);}console.log('循環(huán)體外:'+i);執(zhí)行上述代碼的最后一行時無法輸出結果,也就是說輸出會出錯。因為使用let聲明的變量i只在塊作用域內生效??傊?,我們要習慣使用let聲明變量,減少使用var聲明帶來的全局空間命名污染。需要說明的是,當聲明了letx=2后,如果在同一個作用域內繼續(xù)聲明letx=3,則系統(tǒng)是會報錯的。4.JavaScript的數(shù)據(jù)類型JavaScript的基本數(shù)據(jù)類型主要有字符串型、數(shù)字型、布爾型、undefined、null等。本節(jié)主要介紹JavaScript的基本數(shù)據(jù)類型。JavaScript具有動態(tài)類型的特點,這意味著相同的變量可采用不同的類型。例如:varx;//x為undefinedx=26;//x為數(shù)字型x="Good";//x為字符串型1.字符串型JavaScript的字符串是指一串字符,即帶引號(單引號或雙引號)的任意文本。例如:varname="Good";varname='Good';可以在字符串內使用引號,但字符串內使用的引號必須不同于包圍字符串的引號。2.數(shù)字型JavaScript只有一種數(shù)字型,其中數(shù)字可以帶小數(shù)點,也可以不帶小數(shù)點。例如:varx1=34.00;//使用小數(shù)點varx2=34;//不使用小數(shù)點較大或較小的數(shù)字可以使用科學記數(shù)法(指數(shù)形式)來書寫。例如:vary=123e5;//12300000varz=123e-5;//0.001234.JavaScript的數(shù)據(jù)類型JavaScript與其他編程語言不同,JavaScript沒有定義多種類型(如整型、短整型、長整型、浮點型等)的數(shù)字。JavaScript中所有數(shù)字均為64位。JavaScript會把前綴為0x的數(shù)字型常量解釋為十六進制數(shù),把前綴為0的數(shù)字型常量解釋為八進制數(shù)。例如:vary=0377;varz=0xFF;//值將是255說明

絕不要在數(shù)字前面寫0,如“07”,除非需要進行八進制轉換。默認情況下,JavaScript把數(shù)字顯示為十進制小數(shù)??梢允褂胻oString()方法把數(shù)值輸出為十六進制數(shù)、八進制數(shù)或二進制數(shù)。例如:varmyNumber=128;myNumber.toString(16);//返回80myNumber.toString(8);//返回200myNumber.toString(2);//返回100000003.布爾型JavaScript的布爾(邏輯)型數(shù)據(jù)只能有兩個值:true或false。布爾值常用于條件判斷中。例如:vart=true;varf=false;Boolean對象用于將非布爾值轉換為布爾值(true或者false),使用關鍵字new來定義Boolean對象。下述代碼定義了一個名為myBoolean的Boolean對象。varmyBoolean=newBoolean();4.JavaScript的數(shù)據(jù)類型4.undefined在JavaScript中,undefined表示變量沒有值。對這種變量使用typeof也會返回undefined。例如:varnum;//值是undefinedtypeofnum;//類型是undefined任何變量均可通過設置值為undefined進行清空,其類型也將是undefined。例如:varprice=3.6;price=undefined;//值是undefined,類型也是undefinedundefined與null的值相等,但類型不同。例如:typeofundefined//undefinedtypeofnull//objectnull===undefined//falsenull==undefined//true4.JavaScript的數(shù)據(jù)類型5.null在JavaScript中,null可以理解為“nothing”,它被看作不存在的東西,可以理解為對象占位符。如果試圖引用沒有定義的變量,則返回null。在JavaScript中,null的數(shù)據(jù)類型是對象。例如:varnum=null;//值是nulltypeofnum;//類型是objectalert(typeofnull);//顯示為object盡管表達式“typeofnull”的值為object,但null并不被認為是對象實例。要知道,JavaScript中的值都是對象實例,每個數(shù)字都是Number對象。因為null表示沒有值,所以null不是實例。例如:alert(nullinstanceofObject);//顯示為false可以通過將變量的值設置為null來清空變量。例如:varnum=2;num=null;5.Typeof運算符與數(shù)據(jù)類型的檢測JavaScript中有5種可以包含值的數(shù)據(jù)類型,即string、number、boolean、object、function;有6種類型的對象,即Object、Date、Array、String、Number、Boolean;還有2種不能包含值的數(shù)據(jù)類型,即null、undefined。JavaScript可以使用typeof運算符來檢測JavaScript變量或表達式的數(shù)據(jù)類型。1.檢測基本數(shù)據(jù)類型typeof運算符可以返回以下基本數(shù)據(jù)類型之一:string、number、boolean、undefined?!臼纠?-1】demo0201.htmltypeof""http://返回stringtypeof"Good"http://返回stringtypeof0//返回numbertypeof314//返回numbertypeof3.14//返回numbertypeof(7)//返回numbertypeof(7+8)//返回numbertypeofNaN//返回number,NaN的數(shù)據(jù)類型是數(shù)字型typeoftrue//返回booleantypeoffalse//返回booleantypeofnum//返回undefined(假如num沒有被賦值)5.Typeof運算符與數(shù)據(jù)類型的檢測2.檢測引用類型和nulltypeof運算符檢測為對象、數(shù)組或null時,返回object。typeof運算符檢測為函數(shù)時,不會返回object?!臼纠?-2】demo0202.htmltypeof{name:'安靜',age:20}//返回objecttypeof[1,2,3,4]//返回object(并非array),數(shù)組的數(shù)據(jù)類型是對象typeofnewDate()//返回object,日期的數(shù)據(jù)類型是對象typeofnull//返回object,null的數(shù)據(jù)類型是對象typeoffunctionmyFunc(){}//返回functiontypeof運算符檢測數(shù)組時會返回object,因為在JavaScript中數(shù)組的數(shù)據(jù)類型是對象。未定義變量的數(shù)據(jù)類型是undefined,未賦值的變量的數(shù)據(jù)類型也是undefined。使用typeof關鍵字無法確定JavaScript對象是否為數(shù)組或日期。typeof運算符并不是變量,它只是一個運算符,不采用任何數(shù)據(jù)類型。但是,typeof運算符總是返回字符串(包含操作數(shù)的類型)。6.Javascript數(shù)據(jù)類型的轉換JavaScript變量能夠被轉換為另一種數(shù)據(jù)類型的變量,轉換方式主要有兩種,一種是通過使用JavaScript函數(shù)進行轉換,另一種是通過JavaScript本身自動進行轉換。1.把數(shù)字轉換為字符串(1)使用全局方法String()把數(shù)字轉換為字符串全局方法String()可用于數(shù)字、文本、變量或表達式。例如:String(x)//根據(jù)變量x返回字符串String(123)//根據(jù)文本123返回字符串String(100+23)//根據(jù)表達式返回字符串(2)使用數(shù)字方法把數(shù)字轉換為字符串。數(shù)字方法toString()可以把數(shù)字轉換為字符串。例如:x.toString()(123).toString()(100+23).toString()除了toString(),以下幾種方法也可以將數(shù)字轉換為字符串。①toExponential()方法:返回字符串,對數(shù)字進行舍入,并使用科學記數(shù)法表示。②toFixed()方法:返回字符串,對數(shù)字進行舍入,并使用指定位數(shù)的小數(shù)表示。③toPrecision()方法:返回字符串,把數(shù)字表示為指定長度的數(shù)據(jù)。6.Javascript數(shù)據(jù)類型的轉換2.把布爾值轉換為字符串全局方法String()能夠將布爾值轉換為字符串。例如:String(false)//返回falseString(true)//返回true布爾方法toString()也能夠將布爾值轉換為字符串。例如:false.toString()//返回falsetrue.toString()//返回true3.把日期數(shù)據(jù)轉換為字符串全局方法String()可以將日期數(shù)據(jù)轉換為字符串。例如:String(Date())日期方法toString()也可以將日期數(shù)據(jù)轉換為字符串。例如:Date().toString()4.把字符串轉換為數(shù)字全局方法Number()可以把字符串轉換為數(shù)字,包含以下多種情況。①將數(shù)字字符串轉換為數(shù)字型數(shù)據(jù),如將"3.14"轉換為3.14。②將空字符串轉換為0。③將其他字符串轉換為NaN。6.Javascript數(shù)據(jù)類型的轉換【示例2-3】demo0203.htmlNumber("3.14")//返回3.14Number("")//返回0Number("")//返回0Number("9988")//返回NaN以下方法也可以將字符串轉換為數(shù)字。①parseFloat()用于解析字符串并返回浮點數(shù)。②parseInt()用于解析字符串并返回整數(shù)。5.一元“+”運算符一元“+”運算符可用于把變量轉換為數(shù)字。例如:varx="5";//x是字符串vary=+x;//y是數(shù)字typeofy//變量y的類型為數(shù)字型如果無法轉換變量,則變量仍為數(shù)字型,但是其值為NaN。例如:varx="I";//x是字符串vary=+x;//y是數(shù)字,其值為NaNtypeofy//變量y的類型為數(shù)字型6.Javascript數(shù)據(jù)類型的轉換6.把布爾值轉換為數(shù)字全局方法Number()可以把布爾值轉換為數(shù)字。例如:Number(false)//返回0Number(true)//返回17.把日期數(shù)據(jù)轉換為數(shù)字全局方法Number()可以把日期數(shù)據(jù)轉換為數(shù)字。例如:d=newDate();Number(d)日期方法getTime()可以把日期數(shù)據(jù)轉換為數(shù)字。例如:d=newDate();d.getTime()8.自動類型轉換如果JavaScript嘗試操作一種“錯誤”類型的數(shù)據(jù),則它會試圖將該數(shù)據(jù)轉換為“正確”類型的數(shù)據(jù)。當然,其結果并不總是如人所愿。例如:5+null//返回5(因為null被轉換為0)"5"+null//返回"5null"(因為null被轉換為"null")"5"+2//返回52(因為2被轉換為"2")"5"-2//返回3(因為"5"被轉換為5)"5"*"2"http://返回10(因為"5"和"2"被分別轉換為5和2)7.字符串的基本操作下面介紹常用的字符串的基本操作。1.字符串拼接與模板字符串字符串拼接的傳統(tǒng)寫法示例如下。letdata={title:'標題',content:'內容文字'};letdivHtml='<div>’+'<spanclass="title">'+data.title+'</span>'+'<spanclass="content">'+data.content+'</span>'+'</div>';這種寫法比較煩瑣,并且容易出錯。ES6中新增了模板字符串(TemplateString),用反引號(“)標識,并且支持換行、${變量}。模板字符串是增強版的字符串,它可以當作普通字符串使用,也可以用來定義多行字符串,或者在字符串中嵌入變量。7.字符串的基本操作下面介紹常用的字符串的基本操作。1.字符串拼接與模板字符串字符串拼接的傳統(tǒng)寫法示例如下。letdata={title:'標題',content:'內容文字'};letdivHtml='<div>’+'<spanclass="title">'+data.title+'</span>'+'<spanclass="content">'+data.content+'</span>'+'</div>';這種寫法比較煩瑣,并且容易出錯。ES6中新增了模板字符串(TemplateString),用反引號(“)標識,并且支持換行、${變量}。模板字符串是增強版的字符串,它可以當作普通字符串使用,也可以用來定義多行字符串,或者在字符串中嵌入變量。7.字符串的基本操作在模板字符串中嵌入變量的字符串拼接示例如下。letdata={title:'標題',content:'內容文字'};letdivHtml=`<div><spanclass="title">${data.title}</span><spanclass="content">${data.content}</span></div>`;這里多行字符串使用了反引號(【`】鍵在【Tab】鍵的上方)標識,花括號前還有$。2.字符串的典型方法在ES6發(fā)布之前,JavaScript中只有indexOf()方法可用來確定一個字符串是否包含在另一個字符串中?,F(xiàn)在,includes()、startsWith()、endsWith()這3種方法也能夠實現(xiàn)類似功能。(1)includes(str):判斷是否包含指定的字符串。(2)startsWith(str):判斷是否以指定字符串開頭。(3)endsWith(str):判斷是否以指定字符串結尾。7.字符串的基本操作例如:varstr="HelloJavaScript!";str.includes("o")//truestr.startsWith("Hello")//truestr.endsWith("!")//true這3種方法都支持使用第2個參數(shù),第2個參數(shù)表示開始匹配的位置。8.JavaScript的運算符與表達式運算符也稱為操作符,JavaScript常用的運算符有:算術運算符(包括+、-、*、/、%、++、--等)、比較運算符(包括<、<=、>、>=、==、!=等)、邏輯運算符(包括&&、||、!等)、賦值運算符(包括=)、條件運算符(包括?:等)以及其他類型的運算符。表達式是運算符和操作數(shù)的組合,通過求值運算來確定其值,這個值是操作數(shù)實施運算所確定的結果。表達式是以運算符為基礎的。表達式可以分為算術表達式、賦值表達式、連接表達式、比較表達式、邏輯表達式、條件表達式等。JavaScript的表達式可以包含常量與運算符。例如:6*25表達式也可包含變量、常量與運算符。例如:x*25表達式的計算結果即表達式的值,值可以是多種類型的,如數(shù)字和字符串。1.JavaScript的算術運算符與表達式算術運算符用于執(zhí)行變量或數(shù)字之間的算術運算,JavaScript使用算術運算符來計算值。算術表達式由算術運算符與操作數(shù)組成,例如:(7+8)*10;8.JavaScript的運算符與表達式這里給定x=5,JavaScript的算術運算符及示例如表2-3所示。對于算術表達式200+50*2,是先計算加法(+),還是先計算乘法(*)呢?這涉及算術運算符的優(yōu)先級,由于乘法比加法有更高的優(yōu)先級,顯然先計算乘法,后計算加法,因此該算術表達式的計算結果為300。8.JavaScript的運算符與表達式算術運算符的優(yōu)先級描述了在算術表達式中所執(zhí)行操作的順序,JavaScript算術運算符的優(yōu)先級如表2-4所示。從表2-4中可以看出:乘法(*)和除法(/)比加法(+)和減法(-)擁有更高的優(yōu)先級,當多個運算(如加法和減法)擁有相同的優(yōu)先級時,計算順序是從左向右。當使用圓括號“()”時,圓括號中的運算會先被執(zhí)行,也就是說,圓括號具有最高的優(yōu)先級。8.JavaScript的運算符與表達式2.JavaScript的賦值運算符與表達式賦值運算符用于給JavaScript變量賦值,賦值表達式由賦值運算符與操作數(shù)組成。例如:varx=7;vary=8;在JavaScript中,等號“=”是賦值運算符,而不是“等于”運算符,JavaScript中的“等于”運算符是“==”。這一點與代數(shù)不同。下述的代碼在代數(shù)中是不合理的:x=x+5然而,在JavaScript中,它卻是合理的,即把x+5的值賦給x,表示計算x+5的值并把結果放入x中,x的值遞增5。這里給定x=5和y=10,JavaScript的賦值運算符及示例如表2-5所示。8.JavaScript的運算符與表達式3.JavaScript的連接運算符與表達式“+”運算符還可以用于把文本值或字符串變量連接起來。如果需要把兩個或多個字符串變量連接起來,則可以使用“+”運算符。連接表達式由連接運算符與操作數(shù)組成。(1)連接兩個字符串變量。例如:vartxt1="Whatavery";vartxt2="niceday";txt3=txt1+txt2;在以上語句執(zhí)行后,變量txt3的值是"Whataveryniceday"。(2)在字符串中添加空格。若想在兩個字符串之間增加空格,則需要把空格插入一個字符串之中。例如:txt1="Whatavery";或者把空格插入表達式中。例如:txt3=txt1+""+txt2;在以上語句執(zhí)行后,變量txt3的值均為"Whataveryniceday"。(3)連接字符串與字符串變量。使用“+”運算符也可以對字符串與字符串變量進行連接運算。8.JavaScript的運算符與表達式【示例2-4】demo0204.htmlvarname="云朵";varinfo="歡迎"+name+"登錄";document.write(info);//輸出結果為"歡迎云朵登錄”(4)連接字符串和數(shù)字。對字符串和數(shù)字進行連接運算的規(guī)則如下:把數(shù)字與字符串相連,結果仍為字符串。例如:x=5+"6";document.write(x);//運算結果為56document.write(typeofx);//變量x的數(shù)據(jù)類型為字符串型x="5"+6;document.write(x);//運算結果為56document.write(typeofx);//變量x的數(shù)據(jù)類型為字符串型8.JavaScript的運算符與表達式4.JavaScript的比較運算符與表達式比較運算符用于確定變量或它們的值之間的關系。比較表達式由比較運算符與操作數(shù)組成。在比較表達式中使用比較運算符時,通過比較變量或它們的值來計算出表達式這里給定x=5,JavaScript的比較運算符及示例如表2-6所示??梢栽跅l件語句中使用比較運算符對值進行比較,然后根據(jù)結果執(zhí)行不同的語句。例如:if(hour<12)document.write("上午好!");8.JavaScrip

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論