邏輯運算子
!- 非運算可以對乙個布林值進行取反,true變false false邊true
- 當對非布林值使用!時,會先將其轉換為布林值然後再取反
- 我們可以利用!來將其他的資料型別轉換為布林值
&&
- &&可以對符號兩側的值進行與運算
- 只有兩端的值都為true時,才會返回true。只要有乙個false就會返回false。
- 與是乙個短路的與,如果第乙個值是false,則不再檢查第二個值
- 對於非布林值,它會將其轉換為布林值然後做運算,並返回原值
- 規則:
1.如果第乙個值為false,則返回第乙個值
2.如果第乙個值為true,則返回第二個值
||- ||可以對符號兩側的值進行或運算
- 只有兩端都是false時,才會返回false。只要有乙個true,就會返回true。
- 或是乙個短路的或,如果第乙個值是true,則不再檢查第二個值
- 對於非布林值,它會將其轉換為布林值然後做運算,並返回原值
- 規則:
1.如果第乙個值為true,則返回第乙個值
2.如果第乙個值為false,則返回第二個值
=
- 可以將符號右側的值賦值給左側變數
+=- a += 5 相當於 a = a+5
- var str = "hello"; str += "world";
-=- a -= 5 相當於 a = a-5
*=- a *= 5 相當於 a = a*5
/=- a /= 5 相當於 a = a/5
%= - a %= 5 相當於 a = a%5
關係運算子
- 關係運算子用來比較兩個值之間的大小關係的
>
>=
<
<=
- 關係運算子的規則和數學中一致,用來比較兩個值之間的關係,
如果關係成立則返回true,關係不成立則返回false。
- 如果比較的兩個值是非數值,會將其轉換為number然後再比較。
- 如果比較的兩個值都是字串,此時會比較字串的unicode編碼,而不會轉換為number。
相等運算子
== - 相等,判斷左右兩個值是否相等,如果相等返回true,如果不等返回false
- 相等會自動對兩個值進行型別轉換,如果對不同的型別進行比較,會將其轉換為相同的型別然後再比較,
轉換後相等它也會返回true
!= - 不等,判斷左右兩個值是否不等,如果不等則返回true,如果相等則返回false
- 不等也會做自動的型別轉換。
===- 全等,判斷左右兩個值是否全等,它和相等類似,只不過它不會進行自動的型別轉換,
如果兩個值的型別不同,則直接返回false
!==- 不全等,和不等類似,但是它不會進行自動的型別轉換,如果兩個值的型別不同,它會直接返回true
特殊的值:
- null和undefined
- 由於undefined衍生自null,所以null == undefined 會返回true。
但是 null === undefined 會返回false。
- nan
- nan不與任何值相等,報告它自身 nan == nan //false
- 判斷乙個值是否是nan
- 使用isnan()函式
三元運算子:
?: - 語法:條件表示式?語句1:語句2;
- 執行流程:
先對條件表示式求值判斷,
如果判斷結果為true,則執行語句1,並返回執行結果
如果判斷結果為false,則執行語句2,並返回執行結果
優先順序:
- 和數學中一樣,js中的運算子也是具有優先順序的,
比如 先乘除 後加減 先與 後或
- 具體的優先順序可以參考優先順序的**,在**中越靠上的優先順序越高,
優先順序越高的越優先計算,優先順序相同的,從左往右計算。
- 優先順序不需要記憶,如果越到拿不準的,使用()來改變優先順序。
條件判斷語句
- 條件判斷語句也稱為if語句
- 語法一:
if(條件表示式)
- 執行流程:
if語句執行時,會先對條件表示式進行求值判斷,
如果值為true,則執行if後的語句
如果值為false,則不執行
- 語法二:
if(條件表示式)else
- 執行流程:
if...else語句執行時,會對條件表示式進行求值判斷,
如果值為true,則執行if後的語句
如果值為false,則執行else後的語句
- 語法三:
if(條件表示式)else if(條件表示式)else if(條件表示式)else if(條件表示式)else
- 執行流程
- if...else if...else語句執行時,會自上至下依次對條件表示式進行求值判斷,
如果判斷結果為true,則執行當前if後的語句,執行完成後語句結束。
如果判斷結果為false,則繼續向下判斷,直到找到為true的為止。
如果所有的條件表示式都是false
運算子及流程控制
運算子 c語言提供一種操作的符號來計算 運算子表示式 由運算元和運算子組成的表示式 表示式結果 計算的結果 1 算術運算子 算數運算子表示式 算術結果 2 賦值運算子 左值 右值 左值必須有變數 1 溢位 大空間賦值給小空間 short in 2 不轉換型別 int float 只會整數間的賦值 f...
運算子和流程控制
python3中只有乙個input python2中的raw input與python3中的input一模一樣 python3中的input 要求輸入者必須輸入乙個明確的資料型別 輸入什麼型別就存成什麼型別 1.運算子 算術運算 int,float 數字型別 取整 取餘賦值運算子 age 18 ag...
運算子和流程控制
目錄算數運算子 取餘 自加1 自減1需要注意的是 var a 10 var b a 先賦值再自加 console.log b 10 console.log a 11 var c b 先自加再賦值 console.log b 11 console.log c 11比較運算子 全等 不全等1 1 fal...