js基礎篇(四)(運算符以及流程控制語句)

1.運算符

邏輯運算符
!
- 非運算可以對一個布爾值進行取反,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中的運算符也是具有優先級的,
		比如 先乘除 後加減 先與 後或
	- 具體的優先級可以參考優先級的表格,在表格中越靠上的優先級越高,
		優先級越高的越優先計算,優先級相同的,從左往右計算。
	- 優先級不需要記憶,如果越到拿不準的,使用()來改變優先級。

2.流程控制語句

  • 程序都是自上向下的順序執行的,
    通過流程控制語句可以改變程序執行的順序,或者反覆的執行某一段的程序。

    • 分類:
      1.條件判斷語句
      2.條件分支語句
      3.循環語句

    條件判斷語句
    - 條件判斷語句也稱爲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
    
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章