javascript函數可以用任意多個參數來調用,而不用管函數定義時指定了幾個參數。因為函數是弱類型的,沒有方法去聲明它所期望的參數類型,並且給任何函數傳遞任何類型的值都是合法的。
1.Js函數可以傳入不同的參數,如
function writeNString(strMsg){ document.write(strMsg + "<br>"); }
2.Js函數返回值,js函數可以將運行的結果返回,函數可以視為一個黑盒子,使用參數輸入數據後產生所需的運行結果,如
function one2N(intnumber){ var intTotal = 0; for(var i=0;i<=intnumber;i++){ intTotal +=i;} return intTotal; }
3.Js函數的傳值和傳址參數
傳值:只是將變量的值傳入函數,函數會另外配置內存保存參數值,所以並不會改變原變量的值。
傳址:將變量實際保存的內存位置傳入函數,所以如果在函數中變更參數的值,也會同時變動原參數的值。
數字、字符串和布爾----傳值
對象、數組和函數----傳址
字符串對象-------傳址
4.Js函數的參數數組
Js的函數都擁有一個參數數組(Arguments Array)對象,叫做arguments對象。當調用函數傳入參數時,函數即使沒有指明參數名稱,也一樣可以使用參數數組的對象獲取參數的個數和個別的參數值。
function sumInteger(){ var total = 0; for(var i=0; i<sumInteger.arguments.length;i++){ total += sumInteger.arguments[i]; } return total; } //調用函數 inntotal = sumInteger(100,45,567,234); document.write("函數sumInteger(100,45,567,234):"+inttotal+"<br>");
5.JS函數的變量范圍
JS函數有兩種變量:
局部變量(local Variables)在函數內聲明的變量,變量只能在函數內的程序行內使用,函數外的程序代碼並無法訪問此變量。
全局變量(Global Variables)在函數外聲明的變量,整個JS程序的函數和程序代碼都能訪問此變量。