javascript基礎(基本資料型別轉換)(六)

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

1.轉換成String型別:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<script type="text/javascript">
			
			/*
			 	JS中一共有5種基本資料型別
			 		String
			 		Number
			 		Boolean
			 		Null
			 		Undefined
			 	- 所謂的型別轉換就是值將其他的資料型別轉換為String Number 或 Boolean
			 	- 強制型別轉換
			 		- 轉換為String
			 		- 轉換為Number
			 		- 轉換為Boolean
			 * */
			
			/*
			 	將其他的資料型別轉換為String
			 		- 方式一:
			 			- 呼叫被轉換資料型別的toString()方法
			 			- toString()方法不會改變原變數的值,而是將值轉換為字串並返回
			 			- 由於null和undefined中沒有toString()方法,
			 				所以不能呼叫toString()將他們轉換為字串
			 				
			 		- 方式二:		
			 			- 呼叫String()函式
			 			- 將被轉換的資料做為引數傳遞給String()
			 			- 原理:
			 				- 對於具有toString()方法的型別來說,
			 					String()會呼叫它們的toString()方法來將其轉換為字串
			 				- 對於null和undefined來說,
			 					會將null 直接轉換為 "null"
			 					將undefined 直接轉換為 "undefined"
			 			
			 	
			 	呼叫 XXX的YYY方法就是 XXX.YYY()
			 	document.write();
			 	console.log();
			 	
			 	呼叫XXX函式就是XXX()
			 	alert()
			 		
			 * */
			
			var a = 123; //"123"
			
			//呼叫a的toString()方法來將a轉換為字串
			a = a.toString();
			
			a= true;
			a = a.toString();
			
			a = undefined;
			//由於Undefined中沒有toString()方法,所以以下程式碼會報錯
			//a = a.toString();
			
			/*a = null;
			a = a.toString();*/
			
			
			a = 10;
			
			//呼叫String()函式來將a轉換為字串
			a = String(a);
			
			a = null;
			a = String(a);
			
			a = undefined;
			a = String(a);
//			a = a.toString();
			console.log(a);
			console.log(typeof a);
			
		</script>
	</head>
	<body>
	</body>
</html>
2.轉換為Number
<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<script type="text/javascript">
			
			var a = 15;
			
			/*
			 	對於數字來說,toString()方法,除了可以將一個數字轉換為字串以外,
			 		它還可以將一個數字轉換為指定進位制的字串
			 	在數值的toString()方法中,可以傳遞一個進位制的整數作為引數,
			 		這樣數值將會被轉換為指定進位制的數字的字串
			 * */
			a = a.toString(16);
			
			/*console.log(a);
			console.log(typeof a);*/
			
			
			/*
			 	轉換為Number
			 		- 方式一:
			 			- 使用Number()函式
			 			- 轉換的情況:
			 				1.對於字串來說
			 					- 如果字串是一個合法的數字,則將其轉換為對應的數字
			 					- 如果字串不是一個合法的數字,則轉換為NaN
			 					- 如果字串是一個空串或純空格的字串,則轉換為0
			 					
			 				2.對於布林值來說
			 					- true轉換為1
			 					- false轉換為0
			 					
			 				3.對於Null
			 					- null轉換為0
			 					
			 				4.對於Undefined
			 					- undefined轉換為NaN
			 * */
			
			var b = "123px";//NaN
			b = "123";//123
			b = "abc";//NaN
			b = ""; //0
			b = "    "; //0
			
			//呼叫Number()函式將b轉換為數字
			b = Number(b);
			
			//布林值
			b = true; //1
			b = false; //0
			b = Number(b);
			
			//Null
			b = null;
			b = Number(b);
			
			//Undefined
			b = undefined;
			b = Number(b);
			
			console.log("b="+b);
			console.log(typeof b);
//			
			
			/*
			 * 除了使用Number()函式,JS中還為我們提供了兩個函式,
			 * 	專門用來將一個字串轉換為數字的
			 *  parseInt()
			 * 		- 將一個字串轉換為整數
			 * 		- 使用該函式解析字串時,它會從字串的左側開始解析,
			 * 			直到解析到最後一個有效的整數位
			 * 	parseFloat()
			 * 		- 將一個字串轉換為小數
			 * 		- parseFloat()和parseInt()類似
			 * 			不同的是它可以解析到有效的小數位
			 */
			
			var c = "456px"; //456
			
			c = "789a678b456"; //789
			
			c = "123.456"; //123
			
			/*
			 * 像"070"這樣的字串,火狐 chrome等瀏覽器會當成10進位制數字進行解析,轉換為70
			 * 	但是IE8,會將其當成8進位制的數字解析,解析為56
			 * 
			 * 在使用parseInt時,可以傳遞以進製作為引數,來說明數字的進位制
			 */
			c = "070";
			
			//呼叫parseInt將其轉換為Number
			c = parseInt(c,10);
			
			/*console.log(c);
			console.log(typeof c);*/
			
			var d = "123.45px";//123.45
			d = "123.45.67"; //123.45
			d = "hello123"; //NaN
			
			d = parseFloat(d);
			
//			console.log(d);
//			console.log(typeof d);
//			
			
		</script>
	</head>
	<body>
	</body>
</html>

3.轉換為Boolean

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<script type="text/javascript">
			
			/*
			 * 轉換為Boolean
			 * 	- 使用Boolean()函式
			 * 	- 轉換的情況:
			 * 		- 對於數字
			 * 			- 除了0和NaN剩下都是true
			 * 
			 * 		- 對於字串
			 * 			- 除了空串剩下的都是true
			 * 
			 * 		- null和undefined都是false
			 * 
			 * 		- 物件預設都是true
			 */
			
			var a = 1; //true
			a = -100; //true
			a = Infinity; //true
			a = 0; //false
			a = NaN; //false
			
			//呼叫Boolean()來將a轉換為Boolean
			a = Boolean(a);
			
			a = "hello"; //true
			a = "false"; //true
			a = ""; //false
			a = "   "; //true
			a = "0"; //true
			a = Boolean(a);
			
			a = null;
			a = Boolean(a);
			
			a = undefined;
			a = Boolean(a);
			
			console.log(a);
			console.log(typeof a);
			
			
		</script>
	</head>
	<body>
	</body>
</html>


相關文章