




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第四講:表達(dá)式與運(yùn)算符課程內(nèi)容安排表達(dá)式操作數(shù)運(yùn)算符介紹算術(shù)運(yùn)算符關(guān)系運(yùn)算符字符串運(yùn)算符賦值運(yùn)算符邏輯運(yùn)算符位運(yùn)算符其它運(yùn)算符運(yùn)算符的優(yōu)先級(jí)表達(dá)式表達(dá)式表達(dá)式是產(chǎn)生一個(gè)結(jié)果值的式子,JavaScript的表達(dá)式是由常量、變量和運(yùn)算符等組成。表達(dá)式可以作為參數(shù)傳遞給函數(shù),或?qū)⒈磉_(dá)式結(jié)果賦予給變量保存起來。表達(dá)式的結(jié)果值有多種類型,比如布爾型、字符串型或數(shù)值型等,因此常有邏輯表達(dá)式、數(shù)值表達(dá)式和布爾表達(dá)式之說。下面舉例說明如何定義和使用表達(dá)式。操作數(shù)操作數(shù)操作數(shù)是指表達(dá)式中的變量或常量,在javascript中也包含表達(dá)式的返回值(實(shí)際上就是一個(gè)常量),常提供計(jì)算用的數(shù)據(jù)。下面是操作數(shù)在表達(dá)式中的形態(tài)。 (A+B+C)/D 其中A、B、C、D就是操作數(shù),而“+”和“/”則是操作符,操作符將在下一節(jié)介紹。操作數(shù)的數(shù)據(jù)類型由表達(dá)式的類型和運(yùn)算符所支持的數(shù)據(jù)類型來決定的,上述代碼中若表達(dá)式是數(shù)值表達(dá)式則需要A、B、C和D的類型皆為數(shù)值或可以轉(zhuǎn)換為數(shù)值。運(yùn)算符介紹運(yùn)算符運(yùn)算符是指程序設(shè)計(jì)語言中有運(yùn)算意義的符號(hào),類似于普通數(shù)學(xué)里運(yùn)算符。通常,每一門數(shù)學(xué)都定義了一個(gè)數(shù)集和在數(shù)集上可以進(jìn)行的運(yùn)算。程序設(shè)計(jì)語言也一樣,規(guī)定了其支持的數(shù)據(jù)類型以及數(shù)據(jù)可以進(jìn)行的運(yùn)算。JavaScript的運(yùn)算符包含算術(shù)運(yùn)算符、邏輯運(yùn)算符和一些特殊的運(yùn)算符。在JavaScript中有單目和多目之分,單目運(yùn)算符帶一個(gè)操作數(shù),多目運(yùn)算符帶多個(gè)操作數(shù),如下所示。 (1+2)×3 //數(shù)學(xué)表達(dá)式 ++A //左結(jié)合遞增操作數(shù)的類型表達(dá)式中的操作數(shù)要么是常量要么是變量,常量和變量都有其特定的數(shù)據(jù)類型。構(gòu)成表達(dá)式的操作數(shù)的數(shù)據(jù)類型是由變量或常量的類型來確定。下面來看一個(gè)例子。算術(shù)運(yùn)算符加法運(yùn)算符加法運(yùn)算符使用數(shù)學(xué)符號(hào)“+”,屬于雙目運(yùn)算運(yùn)算符,返回兩個(gè)操作數(shù)的算術(shù)和。操作數(shù)的類型要求為數(shù)值型,如果是字符串型則意義不同,主要運(yùn)用在數(shù)值求和的場(chǎng)合,其語法如下代碼所示。
操作數(shù)1+操作數(shù)2。示例如下所示。01 <scriptlanguage="javascript"> //腳本程序開始02 <!--03 vardepartmentA=1000; //部門A1000人04 vardepartmentB=375; //部分B375人05 vartotal=departmentA+departmentB; //公司總?cè)藬?shù)06 document.write("公司總?cè)藬?shù):"+total); //輸出人數(shù)信息07 -->08 </script> 算術(shù)運(yùn)算符減法運(yùn)算符減法運(yùn)算符使用數(shù)學(xué)符號(hào)“-”,屬于雙目運(yùn)算符,返回兩個(gè)操作數(shù)的算術(shù)差,操作數(shù)類型要求為數(shù)值型。含義與數(shù)學(xué)上的減法計(jì)算完全一樣,使用的形式如下代碼所示。
操作數(shù)1–操作數(shù)201 <scriptlanguage="javascript"> //腳本程序開始02 <!--03 vartotalGas="20升"; //汽油總量04 varused="7.5升"; //開出100公里后消耗05 varoverplus=parseFloat(totalGas)-parseFloat(used); //剩余06 document.write("車子已經(jīng)開了100公里,還剩汽油"+overplus+"升"); //100公里時(shí)輸出提示07 -->08 </script> 算術(shù)運(yùn)算符乘法運(yùn)算符乘法運(yùn)算符使用符號(hào)“*”,屬于雙目運(yùn)算符,返回兩個(gè)操作數(shù)的算術(shù)積。運(yùn)算意義上完全等同于數(shù)學(xué)上的乘法計(jì)算,使用語法如下所示。
操作數(shù)*操作數(shù)2
01<scriptlanguage="javascript"> 02 varemployee=300; //雇員總數(shù)03 varprize=370; //每人獎(jiǎng)金數(shù)額04 vartotal=employee*prize; //預(yù)算總額05 alert("預(yù)算:"+total+"元"); //輸出總額06 </script>
算術(shù)運(yùn)算符除法運(yùn)算符除法運(yùn)算符使用符號(hào)“/”,也是屬于雙目運(yùn)算符,操作數(shù)類型要求為數(shù)值型。其返回兩個(gè)操作數(shù)之商,JavaScript返回的商是實(shí)數(shù)集內(nèi)的數(shù)據(jù),也就是浮點(diǎn)型數(shù)據(jù)。意義上等同于數(shù)學(xué)中的除法運(yùn)算,因此可用在求商的場(chǎng)合,使用語法如下。
操作數(shù)1/操作數(shù)2
01 <scriptlanguage="javascript"> //腳本程序開始02 <!--03 vartotal=1000; //1000元04 varthieves=3; //3個(gè)賊05 alert("每人瓜分所得:"+total/thieves+"元");//輸出3人瓜分后所得數(shù)額06 -->07 </script> 算術(shù)運(yùn)算符模運(yùn)算符取模運(yùn)算符使用符號(hào)“%”,其作用是求一個(gè)數(shù)除以另一個(gè)數(shù)的余數(shù)。操作數(shù)的類型要求為數(shù)值型或能轉(zhuǎn)換為數(shù)值型的類型,屬于雙目運(yùn)算符。事實(shí)上“?!笨梢赃@樣理解,如手表上的小時(shí)刻度,每到12點(diǎn)以后就是1點(diǎn),此鐘表的模為12。通常取模運(yùn)算可以取求某個(gè)數(shù)的倍數(shù)。01 <scriptlanguage="javascript"> 02 for(i=1;i<1000;i++) //找出0到1000中3的公倍數(shù)03 {04 if(i%3==0) //當(dāng)模3為0時(shí)即是3位數(shù)05 {06 document.write(i+""); //輸出07 }08 }09 </script>
算術(shù)運(yùn)算符負(fù)號(hào)運(yùn)算符負(fù)號(hào)運(yùn)行符使用符號(hào)“-”,取負(fù)也就是等于取反。等同于數(shù)學(xué)意義的上負(fù)號(hào),屬于單目運(yùn)算符,語法如下。
-操作數(shù)這里就負(fù)號(hào)運(yùn)算符來看一個(gè)例子。01 <scriptlanguage="javascript"> 02 <!--03 vara=-1; //負(fù)數(shù)04 varb=-a; //取反05 alert(a+"取反后得:"+b); //輸出06 -->07 </script> 算術(shù)運(yùn)算符正號(hào)運(yùn)算符正號(hào)運(yùn)算符使用符號(hào)“+”,針對(duì)數(shù)值類型操作數(shù),意義上等同于數(shù)學(xué)上的正號(hào)。屬于單目運(yùn)算符,語法如下。
+操作數(shù)遞增運(yùn)算符代碼的裝入遞增運(yùn)算符使用符號(hào)“++”,也稱為自增運(yùn)算符,屬于單目運(yùn)算符。可使數(shù)值類型的變量值自增一,操作數(shù)只能是變量。使用形式分左結(jié)合與右結(jié)合兩種,左結(jié)合在表達(dá)式中的效果是先遞增再使用,右結(jié)果則是先使用再遞增。語法如下: 變量名++; //右結(jié)束遞增 ++變量名; //左結(jié)合遞增代碼的執(zhí)行算術(shù)運(yùn)算符遞減運(yùn)算符遞減運(yùn)算符使用符號(hào)“--”,也稱為自減運(yùn)算符,可使變量的值自減一。效果與遞增運(yùn)算符完全相反,也有左結(jié)合與右結(jié)合之分,情況與遞增運(yùn)算符相同,此不贅述,下面來看一個(gè)例子。01 <scriptlanguage="javascript"> 02 <!--03 vara=5; //定義一個(gè)數(shù)字變量04 document.write(a); //輸出a原來的值05 document.write("<br>"); //輸出換行標(biāo)簽06 a--; //a自減一(右結(jié)合)07 document.write(a); //輸出變量a08 document.write("<br>"); //輸出換行09 --a; //a自減一(左結(jié)合)10 document.write(a); //輸出變量a11 document.write("<br>"); //輸出換行12 if(--a==2)
//測(cè)試左、右結(jié)合位于表達(dá)式中的情況13 {14 document.write("<li>左結(jié)合的情形"); //輸出提示信息15 }16 if(a--==2) //等于2時(shí)17 {18 document.write("<li>右結(jié)合的情形"); //輸出提示信息19 }20 -->21 </script>
關(guān)系運(yùn)算符相等運(yùn)算符相等運(yùn)算符使用符號(hào)“==”,判斷兩個(gè)操作數(shù)是否相等。如果相等返回布爾值true,否則返回false。屬于雙目運(yùn)算符,兩個(gè)操作數(shù)的數(shù)據(jù)類型可以任意。運(yùn)行時(shí),“==”操作符將兩端的操作數(shù)轉(zhuǎn)換為同一種數(shù)據(jù)類型后再作比較。使用語法如下:
操作數(shù)A==操作數(shù)B等同運(yùn)算符前述及的相等運(yùn)算符“==”進(jìn)行的是非嚴(yán)格意義上的相等性判斷,即通過類型轉(zhuǎn)為后相等的也返回true。而等同運(yùn)算符“===”是嚴(yán)格意義上的相等,兩個(gè)值和它們的類型完全一致時(shí)才返回true,使用語法如下:
操作數(shù)1===操作數(shù)2關(guān)系運(yùn)算符
不等運(yùn)算符不相等運(yùn)算符使用符號(hào)“!=”,屬于雙目運(yùn)算符,返回一個(gè)布爾值表示兩個(gè)操作數(shù)是否相等。兩個(gè)操作數(shù)類型任意,同時(shí)可以是變量也可以是常量。使用語法如下:
操作數(shù)1!=操作數(shù)2不等同運(yùn)算符不等同運(yùn)算符,使用符號(hào)“!==”,屬于雙目運(yùn)算符。效果與等同運(yùn)算符正好相反,如果兩個(gè)數(shù)嚴(yán)格不相等則返回true,使用語法如下。
操作數(shù)1!==操作數(shù)2關(guān)系運(yùn)算符
小/大于運(yùn)算符小于運(yùn)算符是判斷第一個(gè)操作數(shù)是否小于第二個(gè)操作數(shù)的運(yùn)算符,返回一個(gè)布爾值。使用符號(hào)“<”表示,常用于邏輯表達(dá)式中。使用語法如下: 操作數(shù)1<操作數(shù)2大于運(yùn)算符與小于運(yùn)算符相似,效果相反。instanceof運(yùn)算符instanceof運(yùn)算符返回一個(gè)布爾值,表明某對(duì)象是否是某個(gè)類的實(shí)例。得到一個(gè)對(duì)象時(shí),有時(shí)需要得知其屬于哪個(gè)類,確定對(duì)象的身份。使用語法如下:
result=ObjinstanceofClassEditPlus
關(guān)系運(yùn)算符
小/大于或等于運(yùn)算符小于或等于符運(yùn)算符判斷第一個(gè)操作數(shù)和第二個(gè)操作數(shù)間是否是小于等于關(guān)系,使用符號(hào)“<=”。當(dāng)?shù)谝粋€(gè)操作數(shù)小于或等于第二個(gè)操作數(shù)時(shí)表達(dá)式返回true,否則返回false。 大于或等于運(yùn)算符相似,這里就不多講了。in運(yùn)算符in運(yùn)算符檢查對(duì)象中是否有某特定的屬性??梢酝ㄟ^in運(yùn)算符取得數(shù)組索引集合,這是個(gè)非常有用的運(yùn)算符。語法如下:
Result=propertyinObject;字符串運(yùn)算符字符串運(yùn)算符字符串是一種數(shù)據(jù)類型,同樣也存在相應(yīng)的計(jì)算,因此程序設(shè)計(jì)語言也為字符串定義了相應(yīng)的運(yùn)算符。主要包括+、>、<、>=和<=這幾種,這里主要講解運(yùn)算符“+”。運(yùn)算符“+”,稱為連接運(yùn)算符,它的作用是將兩個(gè)字符串按順序連接成為新的字符串。大大簡(jiǎn)化了字符串表達(dá)式的寫法。這個(gè)運(yùn)算符在字符串處理中使用是相當(dāng)?shù)膹V泛。在前面見得也比較多了,這里就不詳細(xì)講解了。varstr1=“今天星期幾了?”; //字符串變量varstr2=“星期五”; //字符串變量document.write(str1+str2); //輸出連接后的字符串賦值運(yùn)算符賦值運(yùn)算符用“=”表示,用于給變量賦值。賦值運(yùn)算符將值與變量綁定起來,也就是說,值寫入了變量所引用的內(nèi)存單元。通常,給變量填入數(shù)據(jù)最直接的辦法就是使用賦值運(yùn)算符將值賦予變量。如下代碼所示:
varname=“Jet”; 以上代碼將“Jet”賦予變量name,“=”運(yùn)算符左邊的操作數(shù)稱為左值,其右邊的操作數(shù)稱為右值。左值必須是變量,右值可以是變量、常量或表達(dá)式。
賦值運(yùn)算符邏輯與、或、非運(yùn)算符邏輯與運(yùn)算符用“&&”表示,邏輯或運(yùn)算符用“||”表示,它們屬于雙目運(yùn)算符,操作數(shù)被當(dāng)成布爾類型,可以是變量也可以是常量。邏輯與運(yùn)算符使用語法如下所示。 操作數(shù)1&&操作數(shù)2 “||”運(yùn)算符語法如下:操作數(shù)1||操作數(shù)2邏輯非運(yùn)算符“!”,屬于單目運(yùn)算符,對(duì)操作數(shù)的邏輯值取反,操作數(shù)可以是變量或常量。邏輯運(yùn)算符位與、位或、位異或和位非運(yùn)算符
位與、位或、位異或分別使用符號(hào)“&”、“|”、“^”,屬于雙目運(yùn)算符。位與運(yùn)算是指把兩個(gè)操作數(shù)所對(duì)應(yīng)的二進(jìn)制位相與,對(duì)應(yīng)兩個(gè)位都為1時(shí)結(jié)果值中對(duì)應(yīng)位也為1,否則為0。位或是指對(duì)應(yīng)位間如果都不為0則結(jié)果的相應(yīng)位為1,否則為0。位異或是當(dāng)兩個(gè)操作數(shù)對(duì)應(yīng)位不相同時(shí)結(jié)果的相應(yīng)位即為1,否則為0
位非運(yùn)算符“~”實(shí)現(xiàn)對(duì)操作數(shù)按位取反運(yùn)算,屬于單目運(yùn)算符。操作數(shù)可以是任意JavaScript類型的常量或變量位運(yùn)算符左移運(yùn)算符 、帶符號(hào)右移運(yùn)算符和高位補(bǔ)0右移運(yùn)算符左移位運(yùn)算符“<<”,實(shí)現(xiàn)整體向左移動(dòng)低位補(bǔ)0的功能,屬于雙目運(yùn)算符。 當(dāng)移動(dòng)的是有符號(hào)數(shù),左邊空出的位用數(shù)的符號(hào)位填充。向右移動(dòng)超出的位將被丟棄,稱為帶符號(hào)右移位操作。其運(yùn)算符為“>>”。前面已經(jīng)提及右移運(yùn)算時(shí)符號(hào)位的處理問題,是針對(duì)有符號(hào)數(shù)的情況。當(dāng)數(shù)是無符號(hào)數(shù)時(shí),右移后在左邊空出的位上填充0,稱為無符號(hào)右移位。對(duì)應(yīng)的運(yùn)算符是“>>>”。邏輯運(yùn)算符條件運(yùn)算符、new運(yùn)算符、void運(yùn)算符、類型檢測(cè)運(yùn)算符、對(duì)象屬性存取運(yùn)算符、數(shù)組存取運(yùn)算符、delete運(yùn)算符、this運(yùn)算符等等。條件運(yùn)算符,可以根據(jù)條件在兩個(gè)語句間選擇一個(gè)來執(zhí)行。使用符號(hào)“?:”,屬于三目運(yùn)算符,語法如下:
條件表達(dá)式?語句1:語句2
如果語句1為真,則執(zhí)行語句1,否則則執(zhí)行語句2。new運(yùn)算符,它是創(chuàng)建對(duì)象的一種方式??梢灾苯邮褂胣ew運(yùn)算符創(chuàng)建一個(gè)類的實(shí)例對(duì)象。void運(yùn)算符是用在表達(dá)式不需要返回值時(shí),可以使用void運(yùn)算符來避免表達(dá)式返回值。通過使用typeof運(yùn)算符即可獲得數(shù)據(jù)的類型名。typeof返回一個(gè)表達(dá)式的值的類型名。其它運(yùn)算符對(duì)象屬性存取運(yùn)算符,用符號(hào)“.”表示。其
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年山東聊城高三一模數(shù)學(xué)試卷試題答案詳解
- 協(xié)議出讓土地合同范例
- 業(yè)務(wù)服務(wù)咨詢合同范例
- 專題03 天氣與氣候-2025年中考地理一輪復(fù)習(xí)知識(shí)清單(背誦版)
- 同城買貓合同范例
- sd卡采購合同范例
- 班主任如何關(guān)注學(xué)生的情緒變化計(jì)劃
- 以美術(shù)為載體的主題教育活動(dòng)計(jì)劃
- 企業(yè)安全成本的控制與管理計(jì)劃
- 如何選擇合適的投資渠道計(jì)劃
- 中央2025年中國作家協(xié)會(huì)所屬單位招聘11人筆試歷年參考題庫附帶答案詳解
- 2025年1月浙江省高考生物試卷(含答案)
- 2025年安徽醫(yī)學(xué)高等??茖W(xué)校高職單招職業(yè)適應(yīng)性測(cè)試近5年常考版參考題庫含答案解析
- 《Oracle EBS 基礎(chǔ)理解》教學(xué)課件
- 《餐飲業(yè)發(fā)展》課件 - 探索美食世界的奧秘
- ct球管維修合同
- 氣管切開口腔護(hù)理操作流程
- 2025年內(nèi)蒙古自治區(qū)包頭市中考試卷數(shù)學(xué)模擬卷(二)
- 林業(yè)碳匯交易培訓(xùn)課件
- 2025屆高考英語一輪復(fù)習(xí):How to write a speech寫一篇演講稿 課件
- 公安宣傳報(bào)道工作培訓(xùn)
評(píng)論
0/150
提交評(píng)論