JS運算符

邏輯運算符

JS中有三種邏輯運算符?

! 非?

!可以用來對一個值進行非運算 - 所謂非運算就是值對一個布爾值進行取反操作扯饶, true變false泼橘,false變true

如果對一個值進行兩次取反,它不會變化? ? ? ? - 如果對非布爾值進行元素,則會將其轉(zhuǎn)換為布爾值良瞧,然后再取反(可以把一個其他的數(shù)據(jù)類型轉(zhuǎn)換為布爾值)

可以為一個任意數(shù)據(jù)類型取兩次反,來將其轉(zhuǎn)換為布爾值训唱,原理和Boolean()函數(shù)一樣?

&& 與

&&可以對符號兩側(cè)的值進行與運算并返回結(jié)果? ? ? ? ?

運算規(guī)則??

? ? ? ? ? ? ? 兩個值中只要有一個值為false就返回false褥蚯,

? ? ? ? ? ? ? 只有兩個值都為true時,才會返回true

JS中的“與”屬于短路的與

? ? ? ? ? ? ? 如果第一個值為false雪情,則不會看第二個值? ? ??

|| 或? ? ? ??

||可以對符號兩側(cè)的值進行或運算并返回結(jié)果? ? ? ? ?

運算規(guī)則

? ? ? ? ? ? ? 兩個值中只要有一個true遵岩,就返回true

? ? ? ? ? ? ? 如果兩個值都為false你辣,才返回false

?JS中的“或”屬于短路的或

? ? ? ? ? ? ? 如果第一個值為true巡通,則不會檢查第二個值

? ? ? var a = false;

? ? ? a = !a;//取反變true

? ? ? a = !!a;//不變

? ? ? var b = 10;

? ? ? b = !b;//變false

? ? ? b = !!b;//變true

? ? ? console.log(typeof b);

? ? ? console.log("b = " + b);

? ? ? && 遇到false即false

? ? ? var result = true && true;//true

? ? ? var result = true && false;//false

? ? ? var result = false && true;//false

? ? ? var result = false && false;//false

? ? ? || 遇true即true

? ? ? var result = true || true;//true

? ? ? var result = true || false;//true

? ? ? var result = false || true;//true

? ? ? var result = false || false;//false

? ? ? result = NaN && 0;// NaN false && false

? ? ? result = 0 && NaN;//0

? ? ? && 遇到false即false

? ? ? result = 1 && 2;//

? ? ? result = 2 && 1;//1

? ? ? result = 0 && 2;//0 false && true

? ? ? result = 2 && 0;//0 true && false

? ? ? result = NaN && 0;//NaN false && false

? ? ? result = 0 && NaN;//0

? ? ? || 遇true即true

? ? ? result = 2 || 1;//2

? ? ? result = 2 || NaN;//2

? ? ? result = 2 || 0;//2

? ? ? result = NaN || 1;//1 false || true

? ? ? result = NaN || 0;//0

? ? ? result = '' || 'hello';// hello false || true

? ? ? result = -1 || '您好';//-1 true || true

與或運算符

&& || 非布爾值的情況 - 對于非布爾值進行與或運算時,會先將其轉(zhuǎn)換為布爾值舍哄,然后再運算宴凉,并且返回原值

與運算: 如果第一個值為true,則必然返回第二個值? 如果第一個值為false表悬,則直接返回第一個值 弥锄;如果兩個值都為true,則返回后邊的蟆沫;如果兩個值中有false籽暇,則返回靠前的false

或運算: 如果第一個值為true,則直接返回第一個值? 如果第一個值為false饭庞,則返回第二個值

賦值運算符

=

? 可以將符號右側(cè)的值賦值給符號左側(cè)的變量+=

? a += 5 等價于a = a + 5

-=

? a -= 5 等價于a = a - 5

*=

? a *= 5 等價于a = a5

/=

? a /= 5 等價于a = a / 5

%=

? a %= 5 等價于 a = a % 5

關系運算符

通過關系運算符可以比較兩個值之間的大小關系戒悠,

如果關系成立它會返回true,如果關系不成立則返回false

> 大于號? 判斷符號左側(cè)的值是否大于右側(cè)的值? ? 如果關系成立舟山,返回true绸狐,如果關系不成立則返回false(非數(shù)值型比較前要先轉(zhuǎn)化為數(shù)字卤恳,字符串前加+會變成數(shù)字,符號兩邊都是字符串會比較Unicode的編碼)

>= 大于等于? 判斷符號左側(cè)的值是否大于或等于右側(cè)的值

< 小于號

<= 小于等于

非數(shù)值的情況? - 對于非數(shù)值進行比較時寒矿,會將其轉(zhuǎn)換為數(shù)字然后再比較? - 如果符號兩側(cè)的值都是字符串時突琳,不會將其轉(zhuǎn)換為數(shù)字進行比較,而會分別比較字符串中字符的Unicode編碼

任何值和NaN比較都是false

相等運算符

相等運算符用來比較兩個值是否相等符相,

如果相等會返回true拆融,否則返回false

==?

相等? ?當使用==來比較兩個值時,如果值的類型不同啊终,則會自動進行類型轉(zhuǎn)換冠息,將其轉(zhuǎn)換為相同的類型,然后再比較

!=?

不相等? 不相等用來判斷兩個值是否不相等孕索,如果不相等返回true逛艰,否則返回false

來做不相等運算? ?不相等也會對變量進行自動的類型轉(zhuǎn)換,如果轉(zhuǎn)換后相等它也會返回false

===

全等? ?用來判斷兩個值是否全等搞旭,它和相等類似散怖,不同的是它不會做自動的類型轉(zhuǎn)換

如果兩個值的類型不同,直接返回false

!==

不全等? 用來判斷兩個值是否不全等肄渗,和不等類似镇眷,不同的是它不會做自動的類型轉(zhuǎn)換

如果兩個值的類型不同,直接返回true

條件運算符

條件運算符也叫三元運算符?

語法: 條件表達式?語句1:語句2;?

執(zhí)行的流程: 條件運算符在執(zhí)行時翎嫡,首先對條件表達式進行求值欠动, 如果該值為true,則執(zhí)行語句1惑申,并返回執(zhí)行結(jié)果 如果該值為false具伍,則執(zhí)行語句2,并返回執(zhí)行結(jié)果 如果條件的表達式的求值結(jié)果是一個非布爾值圈驼,會將其轉(zhuǎn)換為布爾值然后在運算

true ? alert("語句1") : alert("語句2");

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末人芽,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子绩脆,更是在濱河造成了極大的恐慌萤厅,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,284評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件靴迫,死亡現(xiàn)場離奇詭異惕味,居然都是意外死亡,警方通過查閱死者的電腦和手機玉锌,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,115評論 3 395
  • 文/潘曉璐 我一進店門名挥,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人芬沉,你說我怎么就攤上這事躺同「蟛拢” “怎么了?”我有些...
    開封第一講書人閱讀 164,614評論 0 354
  • 文/不壞的土叔 我叫張陵蹋艺,是天一觀的道長剃袍。 經(jīng)常有香客問我,道長捎谨,這世上最難降的妖魔是什么民效? 我笑而不...
    開封第一講書人閱讀 58,671評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮涛救,結(jié)果婚禮上畏邢,老公的妹妹穿的比我還像新娘。我一直安慰自己检吆,他們只是感情好舒萎,可當我...
    茶點故事閱讀 67,699評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著蹭沛,像睡著了一般臂寝。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上摊灭,一...
    開封第一講書人閱讀 51,562評論 1 305
  • 那天咆贬,我揣著相機與錄音,去河邊找鬼帚呼。 笑死掏缎,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的煤杀。 我是一名探鬼主播眷蜈,決...
    沈念sama閱讀 40,309評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼怜珍!你這毒婦竟也來了端蛆?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,223評論 0 276
  • 序言:老撾萬榮一對情侶失蹤酥泛,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后嫌拣,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體柔袁,經(jīng)...
    沈念sama閱讀 45,668評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,859評論 3 336
  • 正文 我和宋清朗相戀三年异逐,在試婚紗的時候發(fā)現(xiàn)自己被綠了捶索。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,981評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡灰瞻,死狀恐怖腥例,靈堂內(nèi)的尸體忽然破棺而出辅甥,到底是詐尸還是另有隱情,我是刑警寧澤燎竖,帶...
    沈念sama閱讀 35,705評論 5 347
  • 正文 年R本政府宣布璃弄,位于F島的核電站,受9級特大地震影響构回,放射性物質(zhì)發(fā)生泄漏夏块。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,310評論 3 330
  • 文/蒙蒙 一纤掸、第九天 我趴在偏房一處隱蔽的房頂上張望脐供。 院中可真熱鬧,春花似錦借跪、人聲如沸政己。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,904評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽匹颤。三九已至,卻和暖如春托猩,著一層夾襖步出監(jiān)牢的瞬間印蓖,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,023評論 1 270
  • 我被黑心中介騙來泰國打工京腥, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留赦肃,地道東北人。 一個月前我還...
    沈念sama閱讀 48,146評論 3 370
  • 正文 我出身青樓公浪,卻偏偏與公主長得像他宛,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子欠气,可洞房花燭夜當晚...
    茶點故事閱讀 44,933評論 2 355

推薦閱讀更多精彩內(nèi)容

  • 1厅各、return語句:在js里面的return語句用來返回控制和函數(shù)結(jié)果。通常情況预柒,return語句對于一個函數(shù)是...
    青春前行閱讀 149評論 0 1
  • 操作符 一元操作符 只能操作一個值的操作符叫做一元操作符队塘。 有遞增(++)和遞減(--)操作符,有兩個版本: 前置...
    YM雨蒙閱讀 815評論 3 8
  • 一元運算符: +正號 :正號不會對數(shù)字產(chǎn)生任何影響 - 負號 :符號可以對數(shù)字進行符號的取反 對于非number類...
    宋遠航_閱讀 142評論 0 0
  • 關系運算符: 通過關系運算符可以比較兩個值之間的大小關系, 如果關系成立它會返回true淋袖,如果關系不成立則返回fa...
    啊煙雨閱讀 262評論 0 0
  • 當你將作品上傳到Behance鸿市、Dribbble或者你的個人網(wǎng)站時,如何讓你的作品變得受歡迎呢?其實展示一個作品就...
    蔣小北閱讀 1,431評論 -1 29