JavaScript函數

什么是JavaScript函數?

在所有編程語言里,函數是用來包含需要重復執行的代碼塊,Javascript也不例外。

Javascript函數可以有0到n個參數。

Javascript函數可以返回一個值或0個值。

如何創建函數?

在JavaScript里,有兩種創建函數的方法法。

  1. 函數聲明法
function foo() {
  /* do something */
}
  1. 函數表達式法
var foo = function() {
  /* do something */
}

如何使用函數?

下面是使用不同類型函數的例子

  1. 簡單函數
var greet = function(person,greeting)
{
  var text = greeting+','+person;
  console.log(text);
};
greet('Duran','Hello');
  1. 有返回值得函數
var greet = function(person, greeting)
{
  var text = greeting+','+person;
  return text;
};
console.log(greet('Duran','Hello'));
  1. 返回函數的函數
var greet = function(person,greeting)
{
  var text = greeting+''+person;
  return function(){console.log(text)};
};
var greeting = greet('Duran','hello');
greeting();

自執行匿名函數

在javascript中,自執行匿名函數一種隨處可見的函數,所以理解它是非常重要的。

它首先建立一個函數表達式,然后立刻執行它。

注意:所有在自執行匿名函數中聲明的變量在函數外部都是不可訪問的。

(function(){
  var foo = 'Hello world';
})()
console.log(foo); //undefined!

函數作為函數的參數

函數在JavaScript中非常重要,它們被當做一等公民,什么是一等公民?就是它們能被賦值給變量,能作為參數傳遞給另一個函數。

傳遞匿名函數作為參數

var myFn = function(fn) {
  var result =fn();
  console.log(result);
}
myFn(function(){return 'hello world';});

傳遞非匿名函數作為參數

var myFn = function(fn) {
  var result = fn();
  console.log(result);
}
var myOtherFn = function(){
  return 'hello world';
}
myFn(myOtherFn);
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 原文鏈接 Haskell和scala都支持函數的柯里化,JavaScript函數的柯里化還與JavaScript的...
    dreamapple閱讀 2,557評論 0 24
  • 函數就是最基本的一種代碼抽象的方式。 定義函數function abs(x) {if (x >=0){return...
    _我和你一樣閱讀 459評論 0 0
  • 函數 1.JavaScript允許傳入任意個參數而不影響調用,因此傳入的參數比定義的參數多也沒有問題,雖然函數內部...
    wyude閱讀 183評論 0 1
  • 在JavaScript中,函數即對象,程序可以隨意操控它們。比如,JavaScript可以把函數賦值給變量,或者作...
    kissLife閱讀 958評論 0 0
  • 黃宗羲、顧炎武、王夫之三人是明末清初最偉大的思想家。黃宗羲在名作《明夷待訪錄》中陳述了一個國家建都選址的要點,經過...
    碩鼠無止閱讀 714評論 1 1