JavaScript邏輯與運(yùn)算舉例詳解
算術(shù)運(yùn)算符
var a = 10; var b = 2; //加法運(yùn)算 + console.log(a+b); //減法運(yùn)算 - console.log(a-b); //乘法運(yùn)算 * console.log(a*b); //除法運(yùn)算 / console.log(a/b); //取余運(yùn)算 % console.log(a%3); //賦值運(yùn)算 同樣的可以適用于 以上的其他運(yùn)算符 b += 2; console.log(b); //自增運(yùn)算 console.log(a++); console.log(++a); //自減運(yùn)算 console.log(a--); console.log(--a);
注:以上大家要注意自增和自減時(shí)的++和--在前后的區(qū)別
第17行,console.log(a++);這里先輸出a的值,然后執(zhí)行a++;
第18行,console.log(++a);這里先運(yùn)行++a,然后再輸出a;
比較運(yùn)算符
var a = 10; var b = 2; console.log(a>b); console.log(a<b); console.log(a=="10"); console.log(a==="10"); console.log(b!="2"); console.log(b!=="2"); console.log(a>=10); console.log(b<=2);
注:
以上我們需要注意的是 == 和 === 的區(qū)別,雖然js是弱類型的,但是,并不是代表js沒有類型,==不會(huì)進(jìn)行類型的判斷,會(huì)自動(dòng)進(jìn)行轉(zhuǎn)換,而=== 確會(huì)先進(jìn)行類型的判斷。同樣的 != 不會(huì)進(jìn)行類型的判斷,而 !== 會(huì)進(jìn)行類型的判斷。
var a = 10;
var b = 2;
console.log(a && b);
console.log( 0 && a );
console.log(a || 0);
console.log(0 || a);
//
1 && console.log("9");
0 && console.log("99");
1 || console.log("999");
0 || console.log("9999");
注:看以上的 && 和 || 運(yùn)算,&& 判斷兩個(gè)是不是都為真。||判斷是不是某個(gè)為真值
看后面的帶有輸出的,我們可以知道,&&運(yùn)算當(dāng)?shù)谝粋€(gè)為假的時(shí)候,就不會(huì)進(jìn)行第二個(gè)運(yùn)算;||運(yùn)算當(dāng)?shù)谝粋€(gè)為真的時(shí)候,就 不會(huì)運(yùn)行第二個(gè)運(yùn)算;
條件判斷
var a = 10;
if(a>100)
{
console.log("a大于100");
}else if(a>9){
console.log("a大于10");
}else{
console.log("a是其他的值");
}注:
if(真){為真時(shí)的執(zhí)行語(yǔ)句}else{不為真的執(zhí)行語(yǔ)句};用來(lái)基本的邏輯判斷;
var c = Math.round(Math.random()*3);
switch(c)
{
case 0:
console.log("我是0");
break;
case 1:
console.log("我是1");
break;
case 3:
console.log("我是3");
break;
}注:以上我們刷新界面會(huì)輸出不同的值,我們Math.random()隨機(jī)取一個(gè)0到1的值;Math.round()是進(jìn)行四舍五入的運(yùn)算;
switch....case....會(huì)依據(jù)switch里面的值,選擇對(duì)應(yīng)的case進(jìn)行執(zhí)行;如果想要有一個(gè)默認(rèn)的值,可以 使用default。
循環(huán)語(yǔ)句
var arr = [1,22,333,4444,55555];
for(var i=0;i<arr.length;i++)
{
console.log("我是第"+i+"個(gè)索引,值為:"+arr[i]);
}
arr.forEach((item,index)=>{
console.log("第"+index+"個(gè)索引的值為:"+item);
})
arr.map((value,index,array)=>{
console.log("哈哈,輸出第"+index+"個(gè) "+value);
})
var result = arr.filter((value,index,array)=>{
return value>100;
})
console.log(result);
var a = 10;
while(a>0)
{
a--;
console.log(a);
}
console.log("分割線**********************************");
a = 10;
do{
a--;
console.log(a);
}while(a>0)注:
for循環(huán):for(var i=0;i<arr.length;i++){...} 如果i小于arr.length,則會(huì)執(zhí)行大括號(hào){}里的內(nèi)容;
forEach循環(huán):arr.forEach((item,index)=>{}) 這會(huì)依次拿出arr里的值傳到函數(shù)中進(jìn)行執(zhí)行,參數(shù)item為arr取出的值,index為當(dāng)前值的索引,(item,index)=>{}是js中函數(shù)的簡(jiǎn)寫,等行function (item,index){}
map:和forEach的用法差不多。
filter:我們通過英文意思知道這是過濾的意思,這個(gè)里面寫一個(gè)函數(shù),依次把a(bǔ)rr取出的值傳遞進(jìn)行,如果這個(gè)函數(shù)里的返回值大于1,那么當(dāng)前的 取出的arr的值就會(huì)放到返回的強(qiáng)果數(shù)組中。
while()do{}和do{}while():這兩個(gè)都是如果while為真,則會(huì)執(zhí)行do后面大括號(hào)里的語(yǔ)句。差別是do...while.會(huì)先執(zhí)行再判斷;而while ...do...先判斷再執(zhí)行。
總結(jié)
到此這篇關(guān)于JavaScript邏輯與運(yùn)算的文章就介紹到這了,更多相關(guān)js邏輯與運(yùn)算內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
IE和Firefox之間在JavaScript語(yǔ)法上的差異
這篇文章主要為大家詳細(xì)介紹了IE和Firefox之間在JavaScript語(yǔ)法上的差異,在JavaScript語(yǔ)法上不同的7個(gè)方面,感興趣的小伙伴們可以參考一下2016-04-04
JavaScript中SQL語(yǔ)句的應(yīng)用實(shí)現(xiàn)
最近一直在用javascript在做項(xiàng)目 可是做著做著 感覺很多功能代碼都是重復(fù)的。2010-05-05
js實(shí)現(xiàn)帶圓角的兩級(jí)導(dǎo)航菜單效果代碼
這篇文章主要介紹了js實(shí)現(xiàn)帶圓角的兩級(jí)導(dǎo)航菜單效果代碼,涉及javascript鼠標(biāo)事件及頁(yè)面元素樣式動(dòng)態(tài)變換技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2015-08-08
Javascript base64編碼實(shí)現(xiàn)代碼
Javascript base64編碼實(shí)現(xiàn)代碼,需要的朋友可以參考下。2011-12-12
JavaScript實(shí)現(xiàn)QQ聊天室功能
這篇文章主要為大家詳細(xì)介紹了JavaScript實(shí)現(xiàn)QQ聊天室功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-07-07

