函數的返回值(return)以及立即執行函數

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title></title>
		<script type="text/javascript">
			
			/*
			 * 創建一個函數,用來計算三個數的和
			 * 
			 * 可以使用 return 來設置函數的返回值
			 * 	語法:
			 * 		return 值
			 * 
			 * 	return後的值將會會作爲函數的執行結果返回,
			 * 		可以定義一個變量,來接收該結果
			 * 
			 *  在函數中return後的語句都不會執行
			 * 
			 * 	如果return語句後不跟任何值就相當於返回一個undefined,
			 * 	如果函數中不寫return,則也會返回undefined
			 * 
			 * 	return後可以跟任意類型的值
			 * 
			 */
			function sum(a , b , c){
				//alert(a + b +c);
				
				var d = a + b + c;
				
				return d;
				
				//return undefined;
				
			}
			
			//調用函數
			//變量result的值就是函數的執行結果
			//函數返回什麼result的值就是什麼
			var result = sum(4,7,8);
			
			//var result = alert("hello");
			
			console.log("result = "+result);
			
			
		</script>
	</head>
	<body>
		
	</body>
</html>

練習

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<script type="text/javascript">
			/*
			 * 定義一個函數,判斷一個數字是否是偶數,如果是返回true,否則返回false
			 */
			
			function isOu(num){
				
				return num % 2 == 0;
			}
			
			var result = isOu(15);
			
			//console.log("result = "+result);
			
			
			/*
			 * 定義一個函數,可以根據半徑計算一個圓的面積,並返回計算結果
			 * 3.14*r*r
			 */
			function mianji(r){
				
				return 3.14*r*r;
				
			}
			
			result = mianji(5);
			
			//console.log("result = "+result);
			
			
			/*
			 * 創建一個函數,可以在控制檯中輸出一個人的信息
			 * 	可以輸出人的 name age gender address
			 * 
			 * 實參可以是任意的數據類型,也可以是一個對象
			 * 	當我們的參數過多時,可以將參數封裝到一個對象中,然後通過對象傳遞
			 */
			function sayHello(o){
				
				//console.log("o = "+o);
				console.log("我是"+o.name+",今年我"+o.age+"歲了,"+"我是一個"+o.gender+"人"+",我住在"+o.address);
			}
			
			//sayHello("豬八戒",28,"高老莊","男");
			//創建一個對象
			var obj = {
				name:"孫悟空",
				age:18,
				address:"花果山",
				gender:"男"
				
			};
			
			//sayHello(obj);
			
			/*
			 * 實參可以是一個對象,也可以是一個函數
			 */
			
			function fun(a){
				console.log("a = "+a);
				//a(obj);
			}
			
			//fun(sayHello);
			
			//fun(function(){alert("hello")});
			
			fun(mianji(10));
			
			/*
			 * mianji()
			 * 	- 調用函數
			 * 	- 相當於使用的函數的返回值
			 * 
			 * mianji
			 * 	- 函數對象
			 * 	- 相當於直接使用函數對象
			 */
			
		</script>
	</head>
	<body>
	</body>
</html>

3.立即執行函數

立即執行函數
		 * 	函數定義完,立即被調用,這種函數叫做立即執行函數
		 * 	立即執行函數往往只會執行一次
<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<script type="text/javascript">
			
			
			//函數對象()
			/*
			 * 
			 */
			/*(function(){
				alert("我是一個匿名函數~~~");
			})();*/
			
			(function(a,b){
				console.log("a = "+a);
				console.log("b = "+b);
			})(123,456);
			
		</script>
	</head>
	<body>
	</body>
</html>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章