aboutsummaryrefslogtreecommitdiff
path: root/files/zh-tw/glossary/callback_function/index.html
diff options
context:
space:
mode:
Diffstat (limited to 'files/zh-tw/glossary/callback_function/index.html')
-rw-r--r--files/zh-tw/glossary/callback_function/index.html36
1 files changed, 36 insertions, 0 deletions
diff --git a/files/zh-tw/glossary/callback_function/index.html b/files/zh-tw/glossary/callback_function/index.html
new file mode 100644
index 0000000000..3bfcdf6dd3
--- /dev/null
+++ b/files/zh-tw/glossary/callback_function/index.html
@@ -0,0 +1,36 @@
+---
+title: 回呼函式
+slug: Glossary/Callback_function
+translation_of: Glossary/Callback_function
+---
+<p>回呼函式(callback function)是指能藉由參數(argument)通往另一個函式的函式。它會在外部函式內調用、以完成某些事情。</p>
+
+<p>以下是簡單的範例:</p>
+
+<pre class="brush: js">function greeting(name) {
+ alert('Hello ' + name);
+}
+
+function processUserInput(callback) {
+ var name = prompt('輸入你的名字:');
+ callback(name);
+}
+
+processUserInput(greeting);</pre>
+
+<p>這是個{{glossary("synchronous","同步")}}回呼的例子,因為它是立即執行的。</p>
+
+<p>但請注意,回呼常用來延續{{glossary("asynchronous","非同步")}}行動完成後的程式執行:這就叫做非同步回呼(asynchronous callbacks)。例如說我們的 <a href="https://github.com/mdn/learning-area/blob/master/javascript/apis/introduction/maps-example.html">maps-example.html</a> 範例(<a href="http://mdn.github.io/learning-area/javascript/apis/introduction/maps-example.html">也請參見這個</a>)用了 Google Maps API 與 Geolocation API 來把你設備的位置,顯示到地圖上。</p>
+
+<p>因為我們透過非同步取得 GPS 的設備坐標(我們不知道數據何時會被回傳),{{domxref("Geolocation.getCurrentPosition()")}} 方法把一個匿名回呼函式作為參數,它會回傳一個坐標數據以充當參數。該函式會在回傳坐標數據後執行。</p>
+
+<h2 id="深入理解">深入理解</h2>
+
+<h3 id="一般常識">一般常識</h3>
+
+<ul>
+ <li>維基百科的 {{interwiki("wikipedia", "回呼函式")}}</li>
+ <li>
+ <p class="entry-title"><a href="http://javascriptissexy.com/understand-javascript-callback-functions-and-use-them/">Understand JavaScript Callback Functions and Use Them</a></p>
+ </li>
+</ul>