DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> JavaScript入門知識 >> 關於JavaScript >> JavaScript重載函數實例剖析
JavaScript重載函數實例剖析
編輯:關於JavaScript     

1.javascript 中是沒有重載函數這個概念的!

首先javascript是沒有重載函數這個概念的,很久以前,我用javascript做網頁的時候,寫一些簡單的效果,根本不需要用到重載函數,當寫游戲的時候,有大量的函數的時候,就想用重載函數了,沒想到javascript不支持。

我們來簡單用兩種方式來"模擬"下重載函數。

2.根據參數的個數來判斷

javascript的函數中有一個叫arguments的變量,是記錄參數的一個數組,我們可以用這個來判斷參數的個數,然後分別執行不同的內容,就是同一個函數可以有不同效果,跟C++等強類型語言的重載函數還是相差很大。你可以這樣寫,參數全部注釋掉,告訴使用函數者,這個函數最多支持3個參數,具體參數在函數裡面再獲取。支持重載函數的注釋一定要多寫點,這樣會清晰些,最好附上調用例子。

/**
* Return sum of a and b and less than limitNumber
* @param {Number} a
* @param {Number} b
* @param {Number} limitNumber
*/
function add(/*a, b, limitNumber*/){
var a,b,limitNumber;
a = arguments[0];
b = arguments[1];
if(arguments.length == 3){
limitNumber = arguments[2];
if(a + b > limitNumber){
return limitNumber;
}
}
return a + b;
}

3.根據參數類型不同來判斷

javascript有一個關鍵字叫typeof,可以判斷出一個變量的類型。

var temp = "say"; //string
var temp = 1; //number
var temp = undefined; //undefined
var temp = null; //object
var temp = {}; //object
var temp = []; //object
var temp = true; //boolean
var temp = function (){} //function 
function testFunction(a){
if(typeof(a) == "number"){
//do something
}else if(typeof(a) == "string"){
//do something
}
}

以上內容是小編給大家介紹的javascript重載函數的相關知識,感興趣的朋友一起學習吧!

XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved