function 函數類型之函數的聲明方式

function 函數的聲明方式

普通函數的聲明

function box(a,b){    
return a+b};    
alert(box(2,3));    


可以看到正常打印了。這是最簡單的函數的聲明。

使用變量初始化函數

var box = function(a,b){    
return a+b};    
alert(box(2,3));       


這是使用 變量初始化函數。

使用 function 構造函數

var box = new Function('a','b','return a+b');    
alert(box(1,2));      


第三種不推薦使用,因為它會解析兩次代碼。(第一次是解析常規(guī) ECMAScript 代碼,第二次是解析傳入構造函數中的字符串)從而影響性能。我們通過這種語法來理解 函數是對象,函數名是指針 的概念。

作為值的函數

因為 ECMAScript中的函數名本身就是變量,所以函數也可以作為值來使用。不僅可以像傳遞參數那樣把一個函數傳遞給另一個函數,而且可以將另一個函數作為另一個函數的結果返回。
函數可以傳遞函數,第一個我們寫一個傳遞的函數

function box(sum,num){     
return sum+num;     
}  
    
function sum(num){     
return num+10;     
}      
 
var res = box(sum(10),10);      
document.write(res);


這時候我們把 sum(10)傳遞的是函數的返回值和普通的變量沒區(qū)別。所以這時候就是 function sum(10){return 10+10}; 最后返回的是 10+10=20;然后函數 box(sum(10),10)相當于 box(20,10) 所以打印的就是30 .這個例子就是把函數作為返回值傳遞的,而不是作為函數傳遞的。
接下來的例子就是要把函數本身作為參數傳遞,而不是函數的結果傳遞。

function box(sum,num){     
return sum(num);     
}  
    
function sum(num){     
return num+10;     
}      
 
var res = box(sum,10);      
document.write(res);   


這時候就是把 sum() 函數作為一個值返回。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • 第5章 引用類型(返回首頁) 本章內容 使用對象 創(chuàng)建并操作數組 理解基本的JavaScript類型 使用基本類型...
    大學一百閱讀 3,677評論 0 4
  • 第一章: JS簡介 從當初簡單的語言,變成了現在能夠處理復雜計算和交互,擁有閉包、匿名函數, 甚至元編程等...
    LaBaby_閱讀 1,761評論 0 6
  • 本章內容 使用對象 創(chuàng)建并操作數組 理解基本的 JavaScript 類型 使用基本類型和基本包裝類型 引用類型的...
    悶油瓶小張閱讀 779評論 0 0
  • 有人說過,很多彎路到最后都成了直路,所有的坑到最后也都成了坦途;所謂的直路和坦途并不是擺在眼前的,都是不斷的的...
    老衲法號一眉道人閱讀 1,458評論 0 4
  • 手指傷了 只不過不能再觸碰你 嘴巴傷了 只不過再也說不出甜言蜜語 身體傷了 只不過不能再擁抱你 可心傷了 我真不知...
    皆非_lx閱讀 277評論 0 1

友情鏈接更多精彩內容