2. Function功能的使用。
寫一個function(功能) 、呼叫功能、了解return 是什麼,function 外的變數與 function 內變數的差別,並且充分了解全域變數。題型大概會像下列:
請寫一個功能,傳入兩個參數,加總後並回傳結果印出。
Function plusnum(a,b){
return a+b
}
plusnum(3,5)
什麼是全域變數、什麼是區域變數?
全域變數可以在函數(function)內或 函數外宣告,並可任意隨時調用,重覆名稱時則會覆蓋變數值。
而區域變數僅能夠在函數中使用變數名稱,每個函數間的區域變數重複名稱也沒關係,變數互不干擾,也無法在函數外其它的地方調用,當函數結束工作後,變數相對的也結束了。
請問以下印出的a值為多少?
以下使用php來解題:
<?php
$a = 1;
function cal() {
return $a+100;
}
$a=cal();
echo $a
?>
這題答案不會有任何的輸出,因function內的變數 $a仍屬於區域變數。
如果想使用function外的 $a 變數必須在function內加上 global $a;
程式碼如下: $a 值為 101
<?php
$a = 1;
function cal() {
global $a; //使用全域變數 $a=1
return $a+100; // return $a=1+100
}
$a=cal(); //呼叫 call() 方法
echo $a //印出目前的a值, a=101
?>
這個題型主要是考全域變數與區域變數間的應用,我們再往下看下一題。
請問以下印出的a值為多少?
<?php
$a = 1;
function cal($a) {
return $a;
}
$a=cal(3);
echo $a
?>
這題很單純的就是使用函數function所傳入的值當區域變數,因為區域變數不受全域變數或其他函數的變數干擾,所以return 的值就是呼叫時所傳入的參數值 3。