首頁 >web前端 >js教程 >JavaScript中的函數重載深入理解_javascript技巧

JavaScript中的函數重載深入理解_javascript技巧

WBOY
WBOY原創
2016-05-16 16:40:271153瀏覽

在JavaScript中有一種特殊的資料型態---Function類型,JavaScript的每個函數都是Function類型的實例。由於函數是對象,因此函數名稱實際上也是一個指向函數對象的指針,不會與某個函數綁定。

<pre name="code" class="html">function sum(num1,num2) 
{ 
return num1 +num2; 
} 

alert(sum(10,10)); //20 
var other = sum; 
alert(other(10,10)); //20 
sum = null; 
alert(other(10,10)); //20

將函數名稱作為指向函數的指針,有助於理解為什麼ECMAScript中沒有函數重載的概念

function sum(num1) 
{ 
return num1 +100; 
} 
function sum(num1) 
{ 
return num1 +200; 
} 
alert(sum(200)); //400

雖然宣告了兩個同名函數,但是後面的函數覆蓋了前面的函數,以上等價於下面的程式碼

function sum(num1) 
{ 
return num1 +100; 
} 
sum = function(num1) 
{ 
return num1 +200; 
} 
alert(sum(200)); //400

在建立第二個函數時,實際上覆寫了引用的第一個函數變數sum

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn