條件語句控制表達式

條件語句控制表達式


運算符及表達式

()前面不能直接寫++

console.log(++a+a++);//24 ?? //() 不能跟 ++ 一起用

字符串和數值進行比較(字符串會自動轉為數值)

//字符串和數值進行比較

console.log(1 > 2); //false

console.log('123' > 123); //false 自動轉number

console.log('123A' > 123); //false 自動轉number,如果不能轉就會出現NaN

出現NaN一般都是false

console.log(NaN==NaN);//false

undefinde是null的派生所以對應的值是相當的

//undefined 和 null的派生子類 和 null

console.log(undefined==null);//true

console.log(undefined===null);//false

字符串和字符串比較(根據ASCII碼 A65 a96 自動進行ASSCII碼比較 但是是比較第一位)

//字符串和字符串比較(根據ASCII碼 A65 a96 自動進行ASSCII碼比較 但是是比較第一位)

console.log('a'>'b');//flase

console.log('a'<'b');//true

console.log('bAA'<'azz');//false

布爾類型的值和null進行比較

//boolean類型的值和null進行比較 自動轉數值(出現NaN是false)

console.log(true>null);//true

console.log(true);//true

console.log(true>undefined);//false

轉換會先轉換再進行比較

//恒等 這倆個內容是一個內容

console.log(Number(true)==1);//true

console.log(Number(true)===1);//true

console.log(Number(0)==false);//true

null值及undefined跟0進行比較

//undefined和0進行比較

console.log(undefined==0);//NaN false

//null是空對象引用 對應的是一個引用類型 引用類型比較的是地址

console.log(null==0);//false

邏輯運算符


//邏輯運算符 && 短路與 &斷路與 ||短路 或 |斷路或!

//&& 所有的同時滿足才為真 && 只要前面有一個是假后面的就不會看了 &看完全部

vara=10,

b=20,

c=30;

console.log(a>b&&b<c);//false

console.log(c>b&&b<c);//true

// ||有一個是true就是true? 前面只要出現了ture 就不看后面的? |看完全部

console.log(c>b||a>b);//true

//! 取反

console.log(!c>b||a>b);//flase

console.log(!(c>b||a>b));//flase

// || 常用 有一個是ture 取true

console.log(a>b||20);//true ?? //20

vari=0||10

console.log(i);//10

//如果倆個都是false 取最后一個

varstr=undefined||''

console.log(str);//'' 空字符串

//如果倆個都是true的情況下 取第一個位true的結果

varstr1="A"||"B"

console.log(str1);//A 短路操作

varstr2=""||'false'||'true'

console.log(str2);//false

//三目運算 邏輯運算的優(yōu)先級會高于三目運算符

varstr3=(10>20?'':'123')||(30>20?'':'456')

console.log(str3);//123

//如果出現false 直接取false 如果全是true 取最后一個

varstr4=10&&20;

console.log(str4);//20

varstr5=undefined&&''

console.log(str5);//undefined

//轉成boolean類型

varstr6=!123

console.log(str6);//false

//相當于將對應的boolean類型表達式解析出對應的值

console.log(20>30||30<20);//false

console.log(false||false);//false

console.log(20>30||20);//20

console.log(false||20);//20

console.log(0||20);//20

表達式的概念:

由運算符和操作數(變量或常量)組成的式子

1、算術運算符組成的式子叫算術表達式,? 如:2+3;

2、關系運算符組成的式子叫關系表達式或者條件表達式, 如:a>5;

3、邏輯運算符組成的式子叫做邏輯表達式, 如:a&&b

運算符優(yōu)先級(從上到下執(zhí)行)

運算符描述

程序控制語句(所有程序、語言都有)


控制程序的執(zhí)行(利用條件控制 利用循環(huán)來控制)

條件控制語句

if 如果(第一個條件)else if 如果(第二個條件 無限加)else 否則(只有一個 上面都不滿足的情況下)

if 和 else if 同時滿足的情況下 它只會進入第一個滿足的條件

if(條件表達式(boolean類型的值,如果當前這個不是一個boolean類型的值它會自動轉成boolean類型)){

? ? 需要執(zhí)行的代碼

}elseif(條件表達式){

? ? 需要執(zhí)行的代碼

}else{//上面的都不滿足的情況下

? ? 需要執(zhí)行的代碼

}

var a=8,b=8;

//從上到下的順序進行的 上面只有一個進入到下面的內容就不會執(zhí)行了

if(a>b){

? ? console.log("我是a的值為"+a);

}else if(a==b){

? ? console.log("我是b的值為"+b);

}else{

? ? console.log("上面的都不滿足");

}

一條執(zhí)行語句可以省略{}, 多條時不能省略{}, 建議不管是一條還是多條都寫上{}

條件嵌套

//保證良好的縮進 保證可讀性

//求y的值

varx=prompt()

vary

//可能不是數值

//提取條件優(yōu)秀級 先找出問題的條件 再找大的條件 再找小的條件

if(Number(x)||x==0) {

if(x<0) {

y=-1

}elseif(x==0) {

y=0

}else{

y=1

}

alert('當x的值為'+x+'時,'+'y的值為'+y);

}else{

alert('您的輸入有誤!')

}

switch

switch屬于對應的值判斷? 里面的是對應的表達式(產生對應的值)下面的case就是一個個的值選項

switch(表達式){

? ? case值(是常量):操作break;

? ? case值:break;

? ? case值:break;

? ? default;當上面都不滿足的情況下才執(zhí)行默認的操作

}

實例

//指令系統(tǒng) 發(fā)送1吃飯 發(fā)送2玩游戲 發(fā)送3睡覺 發(fā)送4再來一次

varnumber=prompt('請輸入指令');

//恒等判斷 需要對應的類型和值一樣

//需要加引號

switch(number) {

case'1':

case'5'://1和5干一樣的事

alert('準備吃飯');

? ? break;

case'2':

? ? alert('準備玩游戲');

? ? break;

case'3':

? ? alert('準備睡覺');

? ? break;

case'4':

alert('再來一次');

break;

default:

? ? alert('無該指令!');

}

//break跳出 跳出整個代碼塊 switch代碼以及循環(huán)代碼塊

//如果沒有break 從頭走到底 會從滿足條件的第一個走到default里面

//switch不能判斷范圍 只能對應的進行特定的值的判斷

//if 判斷范圍 在一定區(qū)間內容進行判斷(功能更加強大)

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容