【发布时间】:2017-04-22 20:29:44
【问题描述】:
我正在 Egghead.com 上学习编码,但我很难理解这段代码,特别是第 4 行,我们在哪里定义了处理程序?
谢谢!
1 var deliveryBoy = {
2 name: "John",
3 handleMessage: function (message, handler) {
4 handler(message);
5 },
6
7 receive: function () {
8 var that = this;
9
10 this.handleMessage("Hello, ", function(message) {
11 that.name
12
13 console.log(message + that.name);
14 })
15 }
16 }
17 deliveryBoy.receive();
【问题讨论】:
-
你是要在一个答案中解释js?
-
handler 是赋值给传入函数的第二个参数的变量名,本身就是一个可以调用的函数
-
handler是传递给handleMessage的函数。该函数在this.handleMessage调用中定义。这是一个回调函数。 -
它是
handleMessage函数的第二个参数,它在第 10 行定义(并传递):其中写着function(message) { ...JS 不像 Java 允许在函数的参数中传递函数... -
deliveryBoy!=deliverBoy
标签: javascript function object