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程式的函數和程式碼都能存取此變數。