Day7 JS-Callback

在进入下一个NodeJS部份前想先讲一下Callback(回呼),这个概念不会占太大的篇幅,所以这篇可能会有点短...

Callback

回呼是指将某个函式(A)传入另一个函式(B),A函式在B执行时并未直接被执行,而是透过B函式设计的某个时间点或情况触发A函式被执行。意即先设定一个情况下所会被触发的程序码,在该情况发生时才会被呼叫并执行。

https://ithelp.ithome.com.tw/upload/images/20210922/20139980236EbElXl1.jpg

实作看看

Callback印出字串

  1. 定义一个包含回呼函式callbackgreet函式。
function greet(callback){
  console.log("Hello!");
  callback();
}
  1. 呼叫greet函式并定义回呼函式内容。
greet(function(){
  console.log("Callback is envoked.");
});
  1. 执行後会先印出greet函式中的字串,然後是被触发的回呼函式所印出的字串。

https://ithelp.ithome.com.tw/upload/images/20210922/20139980kOsFZl6MQZ.png

具有参数的Callback

  1. 定义一个包含data资料与回呼函式callbackgreet函式,将data作为callback的参数。
function greet(callback){
  console.log("Hello!");

  let data = {
    name: "chwk",
    time: new Date()
  }
  callback(data);
}
  1. 呼叫greet函式并定义回呼函式内容,印出data
greet(function(data){
  console.log("Callback is envoked.");
  console.log(data);
});
  1. 执行後会先印出greet函式中的字串,然後是被触发的回呼函式所印出的字串及greet中定义的data,可以知道回呼函式在greet中就被定义,因此传入的参数可以在触发时直接取得印出。

https://ithelp.ithome.com.tw/upload/images/20210922/20139980RKToaG3CFF.png

小结

回呼函式的被触发除了像前面练习所使用的函式内直接呼叫外,也可以是因为事件进行触发,这部分在接下来的NodeJS部份会再提到,谢谢大家今天的阅读。


<<:  Day 7. 算了,假装我成功假装我有VR头盔好了

>>:  Day 10 Template message in Messaging API

Day14 - BST ( Find & Insert )

大家好,我是长风青云。今天是铁人赛第十四天。恭喜你们听到我带点磁性的声音(?) 我要滚去休息了。 ...

Day-28 说明什麽是 Migration ?

Rails 里常常出现的 Migration 又是什麽呢?大家常常误解他,让我们来认识一下他吧。 ...

Day18 iPhone捷径-这是在哪里拍摄的

Hello 大家, 今天介绍一个官方的捷径, 这个捷径是针对图片资讯中的“位置”来查找照片拍摄的地方...

DAY4 [程序设计基本介绍]

第四天给大家科普一些基本知识。 程序(program)是一种指令集合可以让电脑完成你指定的工作,但必...