JavaScript | var x= 0,y=0,t;t=x&&++y;y等0還是等1?

寫在前面:在JavaScript的邏輯運算中有很多特別的個例,接下來我就將自己在學習過程中遇到的案例分享一下。

1. var a=5,b=2;var result=1.0+a/b;

result=result.toFixed(2);//保留小數點後兩位小數toFixed(num)保留小數點後指定位數數字,num 位數四捨五入

console.log(result);//3.50


2.var a=3,b=5,c=2

a*=16+(b++)-(++c);//16+5-3=18

console.log(a,b,c);//54


3.var x= 0,y=0,t;t=x&&++y;

t=x&&++y;//輸出值爲0,++y未執行

console.log(t);//0

console.log(x);//0

console.log(y);//0


4.var a=1,b=4,c=3;

var d=a&&b+c||b-c;

console.log(d);//7


注意:判斷語句中判斷條件0,undefined,null和""時結果爲假,判斷條件數字、字符串時結果爲真

if(a){console.log('真');}

else{console.log('假');}

var a=0;var a=undefined;var a=null;var a="";//輸出結果 假

var a=123;var a="hello world";//輸出結果 真

邏輯與(&&):

(1)若第一個操作數爲真,則表達式結果爲第二個操作數

(2)若第一個操作數爲假,則表達式結果爲第一個操作數

邏輯或(||):

(1)若第一個操作數爲假,則表達式結果爲第二個操作數

(2)若第一個操作數爲真,則表達式結果爲第一個操作數


5.求三個數字中的最大值

var num1=parseFloat(prompt('請輸入第一個數字'));

var num2=parseFloat(prompt('請輸入第二個數字'));

var num3=parseFloat(prompt('請輸入第三個數字'));

var max=num1;//保存最大的數據   默認num1爲最大值

if(num2>max){max=num2;}

if(num3>max){max=num3;}

console.log('最大值爲:'+max);

寫在最後:邏輯與或非的運算有時和數字運算規律不一樣,請大家注意!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章