javascript基礎(算數運算子)(八)

厚積薄發2017發表於2017-02-08

注:有程式設計基礎的,自學時可以略過此節

1.基本運算子:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<script type="text/javascript">
			/*
			 	運算子(操作符)
			 		- 通過運算子可以對一個或多個值進行運算,並返回結果
			 		- 我們之前使用的typeof就是一個運算子,他可以用來檢查一個變數的資料型別
			 		
			 		- 比如:+ - * / % 都是運算子
			 		- 算數運算子:
			 			+ 
			 				- +可以對符號兩側的值進行加法運算,並將運算結果返回
			 				- 當對非數字(除了字串)進行加法運算時,它會將其先轉換為數字,然後再運算	
			 				- 如果對兩個字串進行相加,則會進行拼串的操作,將兩個字串拼成一個字串
			 				- 任何值和字串進行加法運算時,都會先將其轉換為字串,然後在和字串進行拼串的操作
			 				- 我們經常通過為一個任意的值加 空串的形式來將其轉換為字串,
			 					這種形式我們稱為隱式的型別轉換,原理實際上也是通過String()函式轉換的,
			 						但是這種方式更加簡單。
			 			- 
			 			* 
			 			/ 
			 			%
			 			
			 	
			 * */
			
			/*var a = 123;
			var result = typeof a;
			console.log(result);*/
			
			var a = 10;
			
			a = a + 5;
			
			a = 7 + 8;
			
			a = 10 + true; //11
			
			a = true + false;//1
			
			a = false + null; //0
			
			//任何值和NaN做任何運算都是NaN
			a = NaN + 10; //NaN
			
			a = undefined + 100; //NaN
			
			a = "hello" + "world"; //"helloworld"
			
			a = 11 + "abc"; //"11abc"
			
			a = true + "hello";
			
			a = "你好" + undefined;
			
			//console.log("a = " +a);
			
			a = 123;
			
			//a = String(a);
			a = a + "";
			
			a = true;
			a = a+"";
			
			/*console.log("a = "+a);
			console.log(typeof a);*/
			
			var result = 1 + "2"; //12
			
			result = 1 + 2 + "3"; //33
			
			result = "1" + 2 + 3; //123
			
			result = "1" + (2 + 3); //15
			
			//console.log("result = "+result);
			
			/*
			 	- 
			 		- -可以對符號兩側的值進行減法運算
			 	*
			 		- *可以對符號兩側的值進行乘法運算
			 	/   
			 		- /可以對符號兩側的值進行除法運算
			 		
			 		- 這些符號的運算規則和數學中是一摸一樣的,
			 			不同的是在對非數字型別進行運算時,會先將其轉換為數字然後在運算
			 			我們還可以通過為一個任意的資料型別 -0 *1 /1 來將其轉換為Number型別
			 			原理和Number()函式一樣。
			 			
			 	% 
			 		- % 可以對符號兩側的值進行取模(取餘)運算
			 		- 同樣對非數字進行取模的運算,也會轉換為數字然後在運算
			 	
			 * */
			
			var b = 10 - 5; 
			
			b = 10 * 5;
			
			b = 10 / 5;
			
			b = 10 - true;
			
			b = 5 / "5";
			
			b = 5 * "abc";
			
			//console.log("b = "+b);
			
			var c = "123";
			
			c = c - 0;
			
			/*console.log("c = "+c);
			console.log(typeof c);*/
			
			var d = 10 % 5; //0
			d = 9 % 5; //4
			d = 8 % 5; //3
			
			console.log("d = "+d);
			
			
		</script>
	</head>
	<body>
	</body>
</html>

2.一元運算子:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<script type="text/javascript">
			
			/*
				一元運算子只需要一個運算元
				
				一元的+
					- 一元+就相當於數學運算中的 正號
					- 一元+不會對一個數值產生任何變化
				
				一元的-
					- 一元-相當於數學運算中的 負號
					- 負號可以對一個數值進行符號位取反
					
				- 如果對非數值進行一元的+或-運算,它會向將其轉換為number,然後在運算
					我們可以利用這一特點來將任意的資料型別 轉換為Number
				
			 * */
			
			var a = -10;
			
			//a = +a;
			
			a = -a;
			
			a = true;
			a = -a;
			
			//可以使用一元的+將其他資料型別轉換為Number,原理和Number()函式一樣
			a = "123";
			a = +a;
			
			/*console.log("a = "+a);
			console.log(typeof a);*/
			
			
			var result = 1 + +"2" + 3;
			
			console.log(result);
			
		</script>
	</head>
	<body>
	</body>
</html>

3.自增和自減:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<script type="text/javascript">
			
			/*
			 	自增:
			 		- 所謂的自增就是指在變數原值的基礎上增加一個1
			 		- 我們使用++來進行自增運算
			 		- ++可以寫在變數前或者變數後,我們稱為前++(++a) 和 後++(a++)
			 			無論是a++還是++a都會立即使原變數自增1,呼叫幾次就自增幾次
			 			不同的是a++和++a的值不同。
			 			a++的值是變數自增前的值(變數原值)
			 			++a的值是變數自增後的值(變數新值)
			 * */
			
			var a = 10;
			
			//使a自增1
			//a++;
			
			//++a;
			
			
			/*console.log("++a = " + ++a);*/
			
			/*console.log("a++ = " + a++);*/
			
			/*console.log("a = "+a);*/
			
			a = 10;
			
			//10 12 12
			/*
			 	① a++  a++ = 10  a = 11
			 	② ++a  ++a = 12  a = 12
			 	③ 三個求和
			 */
			var c = a++ + ++a + a;
			
			//console.log("c = "+c);
			
			var b = 5;
			
			/*
			 * ① b++ b=6  b++ = 5
			 * ② 將b++的結果賦值給b
			 */
			//b = 5
			b = b++;
			
			//console.log(b);
			
			/*
			 * 自減
			 * 	- 自減指在原值的基礎上 -1
			 * 	- 使用 -- 進行自減運算
			 *  - --分為前--(--a) 和 後--(a--)
			 * 		- 無論是--a 還是 a-- 都會使原變數立即自減1
			 * 		- 不同的是 a-- 的值變數自減前的值(變數的原值)
			 * 			而--a 的值是變數自減後的值(變數的新值;)
			 */
			
			var n = 5;
			
			//n--;
			//--n;
			
			console.log(n--);//5
			console.log(--n); //3
			console.log("n = "+n);
			
			
		</script>
	</head>
	<body>
	</body>
</html>

練習:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<script type="text/javascript">
			var n1=10 , n2=20;
			
			var n = n1++; //n1=11  n=10
			
			console.log('n='+n); //10
			console.log('n1='+n1); //11
			
			n = ++n1; //n1=12 n=12
			console.log('n='+n); //12
			console.log('n1='+n1); //12
			
			
			n = n2--; // n2=19 n=20
			console.log('n='+n); //20
			console.log('n2='+n2); //19
			
			
			n = --n2; //n2=18 n=18
			console.log('n='+n);  //18
			console.log('n2='+n2);//18
			
		</script>
	</head>
	<body>
	</body>
</html>




相關文章