一個閉包函式的簡單例子
函式體中定義並返回另一個函式,這個巢狀定義在函式體內的函式被稱為“閉包”下面一個典型的例子可以大致瞭解閉包的用法。
<html>
<head>
<title>Example-5.5函式和閉包</title>
</head>
<body>
<script>
<!--
/*JavaScript允許在函式體中定義並返回另一個函式,
這個巢狀定義在函式體內的函式被稱為“閉包”
由於JavaScript擁有閉包,因此它具有明顯的functional(函式式)的特徵*/
function parabola(a, b, c) //構造拋物線方程
{
var ret = function(x)
{
return a * x * x + b * x + c;
}
ret.toString = function()
{
return a + "x^2+" + b + "x+" + c;
}
return ret;
}
var p1 = parabola(2,3,4);
//p1是一條拋物線y = 2*x*x + 3*x + c,p1(15)求出這一條拋物線在x=15處的值
document.write(p1+ " ->" +p1(15) + "<br/>");
var p2 = parabola(2,-3,14);
document.write(p2+ " ->" +p2(15));
//兩個輸出的結果是一樣的
alert(parabola(2,3,4)(15));
alert(p1(15));
-->
</script>
</body>
</html>
心得:是一個函式內定義的函式,可以通過引數識別來訪問內部的函式。
兩個彈出視窗的的輸出結果是一樣的,這裡可以看出閉包的用法。
相關文章
- 一個簡單的oracle函式返回陣列的例子Oracle函式陣列
- 一個常見的閉包函式的分析函式
- 函式閉包函式
- 閉包函式函式
- 閉包函式(匿名函式)的理解函式
- 擼一個簡單的MVVM例子MVVM
- 封裝一個簡單的動畫函式封裝動畫函式
- Python函式:一個簡單的迭代Python函式
- go 閉包函式Go函式
- js函式閉包JS函式
- UTL_FILE包的簡單例子單例
- 一個最簡單的 Github workflow 例子Github
- 一個簡單的觀察者模式例子模式
- 一個簡單的Ajax請求例子
- 回撥函式 與 函式閉包函式
- js函式 函式自呼叫 返回函式的函式 (閉包)JS函式
- JS閉包函式概念JS函式
- JavaScript 匿名函式 閉包JavaScript函式
- JUnit概述及一個簡單例子單例
- python中的閉包函式Python函式
- WebRTC:一個視訊聊天的簡單例子Web單例
- 一個簡單的例子教會您使用javapJava
- 一個簡單的spring-boot例子Springboot
- 一個簡單的例子帶你理解HashmapHashMap
- JS函式表示式——函式遞迴、閉包JS函式遞迴
- Java程式設計思想中關於閉包的一個例子Java程式設計
- JS閉包函式和回撥函式JS函式
- 函式物件、裝飾器、閉包函式函式物件
- 學習一下閉包函式 - Closures函式
- 一個簡單的netty通訊的例子Netty
- 一些簡單的函式函式
- 理解Python函式閉包Python函式
- spring攔截器的一個簡單例子Spring單例
- 第一類物件(函式),閉包及迭代器物件函式
- Java多型的一個簡單入門的例子Java多型
- 簡單介紹JavaScript閉包JavaScript
- js閉包簡單總結JS
- JavaScript進階系列01,函式的宣告,函式引數,函式閉包JavaScript函式