<!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>