算術(shù)運(yùn)算符&算術(shù)運(yùn)算式
+:如果加號(hào)兩邊沒(méi)有string類(lèi)型的數(shù)據(jù),那么就代表把兩個(gè)值相加算和;
如果+兩邊只要有一個(gè)string類(lèi)型的數(shù)據(jù)撞鹉,那么就代表把這個(gè)兩個(gè)值連接起來(lái)組成一個(gè)新的字符串
boolean類(lèi)型中的true和false,其實(shí)本質(zhì)上也是數(shù)字格粪,true為1,false為0
以下運(yùn)算符:哪怕左右兩個(gè)有一個(gè)字符串睛竣,也會(huì)先嘗試把字符串內(nèi)容轉(zhuǎn)換成number類(lèi)型暮现,然后再做運(yùn)算,如果內(nèi)容不能轉(zhuǎn)成數(shù)字,那么得到的結(jié)果是NaN(代表不是數(shù)字的意思) 也就是說(shuō)只有+特殊窗价,其他符號(hào)都是跟數(shù)學(xué)中的運(yùn)算是一樣的
-:兩個(gè)數(shù)相減算差
*:兩個(gè)數(shù)相乘算積
/:兩個(gè)數(shù)相除算商
%:求余數(shù),兩個(gè)數(shù)相除叹卷,除不盡的余數(shù)就是結(jié)果 10 % 3 = 1
Infinity:代表無(wú)窮大撼港,把0作為除數(shù)就會(huì)得到這個(gè)結(jié)果
由算術(shù)運(yùn)算符連接起來(lái)的式子就叫算術(shù)運(yùn)算式
注意:
取余的結(jié)果正負(fù)性只跟左邊的操作數(shù)有關(guān),左邊的為負(fù)數(shù)骤竹,那么結(jié)果就是負(fù)數(shù)帝牡,左邊是正,那么結(jié)果就是正數(shù);
先算乘除瘤载,再算加減否灾,有括號(hào)的先算括號(hào)里面的卖擅,如果都是同級(jí)就從左往右依次運(yùn)算
復(fù)合運(yùn)算符
如果想讓某個(gè)變量在自己的值得基礎(chǔ)上再+鸣奔,再-,再*惩阶,再/挎狸,再%都可以用復(fù)合運(yùn)算符
+=:
-=:
*=:
/=:
%=
自增和自減
++:自增,讓自己的值+1
--:自減断楷,讓自己的值-1
前綴++(--)與后綴++(--)的區(qū)別:
前綴:先自增或自減锨匆,再用自增或自減后的結(jié)果參與運(yùn)算
后綴:先用原來(lái)的值參與運(yùn)算,再自增或自減
不管在前還是在后冬筒,都會(huì)自增或自減
typeof的運(yùn)算符恐锣,是計(jì)算出右邊數(shù)據(jù)是什么類(lèi)型
寫(xiě)法1:typeof 數(shù)據(jù)
寫(xiě)法2:typeof(數(shù)據(jù))
typeof得到的結(jié)果也是string類(lèi)型
console.log(typeof (typeof true));//輸出的是string類(lèi)型
math對(duì)象:
Math.pow(底數(shù),冪);算一個(gè)數(shù)的n次方;
Math.round(數(shù)字):的到一個(gè)數(shù)字的四舍五入的整數(shù)形式;
Mah.ceil:天花板取整,向上取整,只要有小數(shù)點(diǎn),就讓整數(shù)進(jìn)1;結(jié)果比原來(lái)的數(shù)字大
如果是負(fù)數(shù),就相當(dāng)于直接取整數(shù)部分;
Math.floor:地板取整,只要有小數(shù)點(diǎn),就直接取整數(shù)部分,得到的數(shù)比原來(lái)的小
Math.random:隨機(jī)生成0-1之間的任意數(shù)字,包括0,不包括1;
Math.abs:取這個(gè)數(shù)的絕對(duì)值;
Math.max:最大值;
Math.min:最小值;
Math.PI:得到圓周率;
Math.sqrt:算某個(gè)數(shù)字的平方根;
關(guān)于精度問(wèn)題,可以先*100,然后再/100;
關(guān)系運(yùn)算符
>: 判斷左邊是否大于
<: 判斷左邊是否小于右邊
>=: 判斷左邊是否大于或等于右邊
<=: 判斷左邊是否小于或等于右邊
==: 判斷左邊是否等于右邊的值 ,只是判斷值是否相等,不用管類(lèi)型
!=: 判斷左邊是不等于右邊
用的極少
===:判斷左邊是否全等于右邊舞痰,既要值相等也要類(lèi)型相等
!==:判斷左邊是否不全等右邊土榴,看值和類(lèi)型是否不等,只要有一個(gè)不等响牛,結(jié)果就是true
以上這些運(yùn)算符是用來(lái)判斷左右兩邊關(guān)系的玷禽,那么就肯定會(huì)有一個(gè)結(jié)果
結(jié)果要么是對(duì)(真)赫段,要么是錯(cuò)(假),所以他們得到結(jié)果是boolean類(lèi)型的
邏輯運(yùn)算符
&&:邏輯與;用&&連接起來(lái)的式子,兩邊都要為true,其結(jié)果才為true,只要有一個(gè)不滿(mǎn)足,其結(jié)果都為false;
||:邏輯或;只要有一個(gè)滿(mǎn)足true,結(jié)果就為true,都不滿(mǎn)足才為false;
!:邏輯非.取反;
console.log(!10);//false 因?yàn)樵跀?shù)字里,非0為真,只有零是假的,
console.log(!-10);//false
邏輯運(yùn)算符短路;
&&中的短路:如果左邊為false,沒(méi)必要進(jìn)行右邊的判斷,其結(jié)果就為左邊的式子;(沒(méi)有短路的話(huà)就是右邊的式子)
||中的短路:如果左邊為true,沒(méi)必要進(jìn)行右邊的判斷,其結(jié)果就是左邊的式子