JavaScript 匿名函式
JavaScript函式可以分為具名函式與匿名函式。
一.具名函式建立:
具名函式通過函式宣告方式建立,函式宣告必須遵守嚴格的語法規範。
程式碼例項如下:
[JavaScript] 純文字檢視 複製程式碼function func(webName){ console.log(webName); }
上面程式碼宣告一個具名函式,函式宣告必須具有如下要素,否則報錯:
(1).起始位置的function關鍵字。
(2).function關鍵字後面用空格分隔(可以一個或者多個),然後跟著函式名稱。
(3).函式名稱後面跟著小括號(),名稱與小括號之間可以有一個或者多個空格。
(4).小括號中可以定義引數,引數與引數之間用逗號分隔。
二.匿名函式的建立:
匿名函式就是沒有名字函式,它的使用方式更為靈活。
可以通過表示式方式建立匿名函式。
程式碼例項如下:
[JavaScript] 純文字檢視 複製程式碼let func=function(webName){ console.log(webName); }
等號右側是一個匿名函式表示式,此函式沒有名字。
匿名函式建立之後,將其引用賦值給變數func,那麼就可以利用變數來使用此函式。
程式碼例項如下:
[JavaScript] 純文字檢視 複製程式碼執行程式碼let func=function(webName){ console.log(webName); } func("螞蟻部落");
程式碼執行效果截圖如下:
匿名函式必須處於表示式環境中,也就是作為一個運算子的運算數。
不能讓一個匿名函式孤零零的存在,程式碼如下:
[JavaScript] 純文字檢視 複製程式碼function(webName){ console.log(webName); }
上面匿名函式孤零零存在,沒有辦法使用它,並且程式碼也會報錯。
大家知道,運算數會首先對自己求值,並返回此值,所以匿名函式才會有多種多樣的呼叫方式。
簡單舉例如下:
[JavaScript] 純文字檢視 複製程式碼// !運算子 !function(webName){ console.log(webName); }("螞蟻部落") // +運算子 +function(webName){ console.log(webName); }("螞蟻部落") // 分組運算子 (function(webName){ console.log(webName); })("螞蟻部落")
上面三個方式都可以實現匿名函式立即執行效果。
特別說明:箭頭函式全都是匿名函式,具體參閱JavaScript 箭頭函式一章節。
三.具名函式與匿名函式的區別:
當然匿名函式的建立使用方式有多種,比如上面距離的三種自執行方式。
下面僅以最常用的方式作為例子,程式碼例項如下:
[JavaScript] 純文字檢視 複製程式碼function func(){} let func = function(){}
函式宣告具有前置效果,但是匿名函式沒有。
因為上面的匿名函式宣告本質就是宣告一個變數,然後賦值一個函式物件。
關於宣告前置可以參閱JavaScript 變數與函式宣告前置一章節。
相關文章
- JavaScript匿名函式JavaScript函式
- JavaScript 匿名函式 閉包JavaScript函式
- JavaScript 匿名立即自執行函式JavaScript函式
- javascript匿名函式簡單介紹JavaScript函式
- JavaScript 匿名函式與具名函式執行效率比較JavaScript函式
- JavaScript 中匿名函式的遞迴呼叫JavaScript函式遞迴
- javascript匿名函式常用呼叫方式介紹JavaScript函式
- 深入理解 函式、匿名函式、自執行匿名函式函式
- javascript匿名函式的使用簡單介紹JavaScript函式
- PHP匿名函式PHP函式
- Ruby 匿名函式函式
- Golang匿名函式Golang函式
- Go 匿名函式Go函式
- javascript中關於匿名函式高階介紹JavaScript函式
- javascript匿名函式的優點簡單介紹JavaScript函式
- PHP 匿名函式初探PHP函式
- 匿名函式(Python)函式Python
- Python匿名函式Python函式
- 閉包函式(匿名函式)的理解函式
- JavaScript匿名函式要外面巢狀小括號原因JavaScript函式巢狀
- 第 8 節:函式-匿名函式、遞迴函式函式遞迴
- Python函式與lambda 表示式(匿名函式)Python函式
- 兄弟連go教程(14)函式 - 匿名函式Go函式
- PHP 核心特性 - 匿名函式PHP函式
- 裝飾器,匿名函式函式
- 1.5.7 Python匿名函式Python函式
- js中的匿名函式JS函式
- Js匿名函式小指南JS函式
- Python 返回函式+匿名函式Python函式
- 初識Lambda表示式(匿名函式)函式
- 學習javaScript必知必會(1)~js介紹、函式、匿名函式、自呼叫函式、不定長引數JavaScriptJS函式
- GO 的匿名函式使用注意Go函式
- 匿名函式有加速的效果??函式
- js 匿名自執行函式JS函式
- lambda匿名函式sorted排序函式filter過濾函式map對映函式函式排序Filter
- 從settTimeout到匿名函式、箭頭函式之() => {}函式
- 塊級作用域替代“匿名立即執行函式表示式(匿名IIFE)”函式
- Python技法3:匿名函式、回撥函式和高階函式Python函式