本篇內(nèi)容主要講解“Javascript運算符與流程控制語句怎么使用”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學(xué)習(xí)“Javascript運算符與流程控制語句怎么使用”吧!
創(chuàng)新互聯(lián)專注于企業(yè)全網(wǎng)整合營銷推廣、網(wǎng)站重做改版、滄縣網(wǎng)站定制設(shè)計、自適應(yīng)品牌網(wǎng)站建設(shè)、H5開發(fā)、商城網(wǎng)站開發(fā)、集團(tuán)公司官網(wǎng)建設(shè)、成都外貿(mào)網(wǎng)站制作、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計等建站業(yè)務(wù),價格優(yōu)惠性價比高,為滄縣等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。
「運算符」是用于實現(xiàn)賦值、比較和執(zhí)行算數(shù)運算等功能的符號。常用運算符分類如下
算數(shù)運算符
遞增和遞減運算符
比較運算符
邏輯運算符
賦值運算符
運算符 | 描述 | 案例 |
---|---|---|
+ | 加 | 10+20=30 |
- | 減 | 10-20=-10 |
* | 乘 | 10*20=200 |
/ | 除 | 10/20=0.5 |
% | 取余(取模) | 返回除法的余數(shù)9%2=1 |
//alert(1 + 1); console.log(1 + 1); //運算符的左右兩側(cè)都要敲空格 //alert(1 - 1); //0 //alert(1 * 1); //1 //alert(1 / 1); //1
1. % 取余(取模)
//alert(4 % 2); //0 //alert(5 % 3); //2 //alert(3 % 5); //3 注意?。。。。。。。。。?/pre>2.浮點數(shù) 算數(shù)運算里面會有問題
var result = 0.1 + 0.2; // 結(jié)果不是 0.3,而是:0.30000000000000004 console.log(0.07 * 100); // 結(jié)果不是 7, 而是:7.000000000000001浮點數(shù)值的最高精度是17位小數(shù),但是在進(jìn)行算數(shù)運算時其精確度遠(yuǎn)遠(yuǎn)不如整數(shù),所以不要直接判斷兩個浮點數(shù)是否相等!
3. 我們不能直接拿浮點數(shù)來進(jìn)行相比較 是否相等
var num = 0.1 + 0.2; alert(num == 0.3); //false 要轉(zhuǎn)化為2進(jìn)制,精確度會有誤差
表達(dá)式與返回值
表達(dá)式:由數(shù)字、運算符和變量組成的式子。
返回值:每一個表達(dá)式經(jīng)過相應(yīng)的運算之后,會有一個最終結(jié)果,稱為表達(dá)式的返回值
// 是由數(shù)字、運算符、變量等組成的式子 我們稱為表達(dá)式 1+1 // alert(1 + 1); //2 就是返回值 //寫法 //1 + 1=2 // 在我們程序里面 2 = 1 + 1 把我們右邊表達(dá)式計算完畢把返回值給左邊 var num = 1 + 1; // alert(num); //2
如果需要反復(fù)給數(shù)字變量添加或減去1,可以使用遞增( + + )和遞減( - - )運算符來完成。
在javascript 中,遞增( + + )和遞減( - - )運算符既可以放在變量前面,也可以放在變量后面。放在變量前面時,稱為前置遞增( 遞減 )運算符,放在后面是后置遞增( 遞減 )運算符
注意:遞增和遞減運算符必須配合變量使用。
前置遞增運算符使用口訣:先自加,后返回值
前置遞增運算符使用口訣:先返回值原值 后自加1
案例:
比較運算符是兩個數(shù)據(jù)進(jìn)行比較時所使用的運算符,比較運算符,會返回一個布爾值(true/false)作為比較運算的結(jié)果。
運算符 | 描述 | 案例 |
---|---|---|
+ | 加 | 10+20=30 |
- | 減 | 10-20=-10 |
* | 乘 | 10*20=200 |
/ | 除 | 10/20=0.5 |
% | 取余(取模) | 返回除法的余數(shù)9%2=1 |
符號 | 作用 | 用法 |
= | 賦值 | 把右邊給左邊 |
== | 判斷 | 判斷兩邊值是否相等(注意此時有隱式轉(zhuǎn)換) |
=== | 全等 | 判斷兩邊的值和數(shù)據(jù)類型是否完全相等 |
概念:邏輯運算符是用來進(jìn)行布爾值運算的運算符,其返回值也是布爾值。后面開發(fā)中經(jīng)常用于多個條件的判斷
練習(xí):
短路運算(邏輯中斷):(js API)
當(dāng)有多個表達(dá)式(值)時,左邊的表達(dá)式值可以確定結(jié)果時,就不再繼續(xù)運算右邊的表達(dá)式的值;
3. 邏輯與短路運算 如果表達(dá)式1 結(jié)果為真 則返回表達(dá)式2 如果表達(dá)式1為假 那么返回表達(dá)式1 alert(123 && 456); //456 除了0之外,所有的數(shù)字都為真 alert(0 && 456); // 0 alert(0 && 1 + 2 && 456 * 56789); // 0 alert('' && 1 + 2 && 456 * 56789); // '' 如果有空的或者否定的為假 其余是真的 : 0 '' null undefined NaN
4. 邏輯或短路運算 如果表達(dá)式1 結(jié)果為真 則返回的是表達(dá)式1 如果表達(dá)式1 結(jié)果為假 則返回表達(dá)式2 alert(123 || 456); // 123 alert(123 || 456 || 456 + 123); // 123 alert(0 || 456 || 456 + 123); // 456
邏輯中斷很重要 它會影響我們程序運行結(jié)果 var num = 0; //alert(123 || num++); //123 num++不會運行 //alert(num); // 0
運算符 | 描述 | 案例 |
---|---|---|
= | 直接賦值 | var userName = 'fan' |
+= -= | 加減一個數(shù)后 再賦值 | var age=5; age+=5 |
*= /= %= | 乘、除、取模后再賦值 | var age=5; age*=5 |
優(yōu)先級 | 運算符 | 順序 |
---|---|---|
1 | 小括號 | () |
2 | 一元運算符 | ! ++ -- |
3 | 算數(shù)運算符 | 先* / % 后+ - |
4 | 關(guān)系運算符 | > >= < <= |
5 | 相等運算符 | == != === !== |
6 | 邏輯運算符 | 先&& 后|| |
7 | 賦值運算符 | = |
8 | 逗號運算符 | , |
「流程控制」在一個程序執(zhí)行的過程中,各條代碼的執(zhí)行順序?qū)Τ绦虻慕Y(jié)果是有直接影響的。很多時候我們要通過控制代碼的執(zhí)行順序來實現(xiàn)我們要完成的功能。流程控制主要有三種結(jié)構(gòu),分別是順序結(jié)構(gòu)、分支結(jié)構(gòu)和循環(huán)結(jié)構(gòu),代表三種代碼執(zhí)行的順序。
分支流程控制:
if (條件表達(dá)式) { //執(zhí)行語句 } 2. 執(zhí)行思路 如果 if 里面的條件表達(dá)式結(jié)果為真 true 則執(zhí)行大括號里面的 執(zhí)行語句 如果if 條件表達(dá)式結(jié)果為假 則不執(zhí)行大括號里面的語句 則執(zhí)行if 語句后面的代碼 3. 體驗代碼: if (3 < 5) { alert('沙漠駱駝'); }
案例:
案例:閏年
// 算法:能被4整除且不能整除100的為閏年(如2004年就是閏年,1901年不是閏年)或者能夠被 400 整除的就是閏年 // 彈出prompt 輸入框,讓用戶輸入年份,把這個值取過來保存到變量中 // 使用 if 語句來判斷是否是閏年,如果是閏年,就執(zhí)行 if 大括號里面的輸出語句,否則就執(zhí)行 else里面的輸出語句 // 一定要注意里面的且 && 還有或者 || 的寫法,同時注意判斷整除的方法是取余為 0 var year = prompt("請輸入要檢測的年份:") if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) { alert(year + '是閏年') } else { alert(year + '是平年') }
案例:成績
案例: 數(shù)字補0
switch 語句也是多分支語句,它用于基于不同的條件來執(zhí)行不同的代碼。當(dāng)要針對變量設(shè)置一系列的特定值的選項時,就可以使用 switch。
注意事項:
var num=1; switch(num){ case 1: console.log(1);break; //1 case 2: console.log(2);break; case 3: console.log(3);break; } // 1. 我們開發(fā)里面 表達(dá)式我們經(jīng)常寫成變量 // 2. 我們num 的值 和 case 里面的值相匹配的時候是 全等 必須是值和數(shù)據(jù)類型一致才可以 num === 1
break 如果當(dāng)前的case里面沒有break 則不會退出switch 是繼續(xù)執(zhí)行下一個case
var num=1; switch(num){ case 1: console.log(1);//1 case 2: console.log(2);//2 case 3: console.log(3);//3 }
案例:查詢水果案例
switch 語句和 if else if區(qū)別:
1. 一般情況下,它們兩個語句可以相互替換
2. switch...case 語句通常處理case為比較確定值的情況,而if...else...語句更加靈活,常用于范圍判斷(大于、等于某個范圍)
3. switch 語句進(jìn)行條件判斷后直接執(zhí)行到程序的條件語句,效率更高。而if..else 語句有幾種條件,就得判斷多少次。
4. 當(dāng)分支比較少時,if...else語句的執(zhí)行效率比switch語句高。
5. 當(dāng)分支比較多時,switch語句的執(zhí)行效率比較高,而且結(jié)構(gòu)更清晰。
到此,相信大家對“Javascript運算符與流程控制語句怎么使用”有了更深的了解,不妨來實際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!