aardio 官方社区

 找回密码
 注册会员

QQ登录

只需一步,快速开始

搜索
查看: 5993|回复: 8

为什么这个回调函数不执行呢

[复制链接]

6

主题

0

回帖

104

积分

一级会员

积分
104
发表于 2018-1-3 14:36:38 | 显示全部楼层 |阅读模式
请教,为什么a()函数中的形参用一个匿名函数替代时,这个匿名函数不执行呢?应该怎么修改?

  1. function a( temp ){ //自定义的主函数
  2.         console.log("这是  主函数  ")
  3. }

  4. a(   function(){console.log("这是 回调函数 ")}      )


  5. console.pause();
复制代码


控制台输出:
这是  主函数              //为什么形参中的匿名函数没有执行呢?
按任意键继续...


170

主题

2184

回帖

1万

积分

管理员

积分
13236
发表于 2018-1-3 14:50:05 | 显示全部楼层
你在参数中写的是函数对象,

import console;

console.log(  
function(){}      )
console.pause(
true);

函数对象 不等于 执行这个函数获取返回值

12

主题

651

回帖

4023

积分

荣誉会员

子非魚、安知魚之樂

积分
4023
发表于 2018-1-3 15:03:36 | 显示全部楼层
(function(){
    console.log(
"这是 回调函数 ")
})()
匿名函数要这样才能执行

6

主题

0

回帖

104

积分

一级会员

积分
104
 楼主| 发表于 2018-1-3 15:24:55 | 显示全部楼层
Jacen.He 发表于 2018-1-3 14:50
函数对象 不等于 执行这个函数获取返回值

能不能给几个简单的例子,感受一下 回调函数、委托 和 多线程的区别。这也是很多人的疑问,在这里谢谢了。

170

主题

2184

回帖

1万

积分

管理员

积分
13236
发表于 2018-1-3 17:46:49 | 显示全部楼层
njlzzdh 发表于 2018-1-3 15:24
能不能给几个简单的例子,感受一下 回调函数、委托 和 多线程的区别。这也是很多人的疑问,在这里谢谢了 ...

其实你需要静下来自己思考一下上面大家的回帖,
你就是犯了一个低级的错误,把 func 跟  func() 混淆了。


例如下面的代码是调用 string.left 函数取字符串的左侧3个字符
console.log( string.left("abcde")  );

调用函数要在函数名后面写括号,在括号里写参数你把他写成这样:
console.log( string.left  );

然后怪 string.left 不执行?!



170

主题

2184

回帖

1万

积分

管理员

积分
13236
发表于 2018-1-3 17:51:54 | 显示全部楼层
你上面写的那代码是一回事,你看你写的代码:
function a( temp ){ //自定义的主函数
    console.log("这是  主函数  ")
}
你哪一句代码执行了 temp 函数呢?!
你纠结 temp 没执行,但是:你根本就没有执行temp函数的代码呀?!




6

主题

0

回帖

104

积分

一级会员

积分
104
 楼主| 发表于 2018-1-3 18:41:01 | 显示全部楼层
Jacen.He 发表于 2018-1-3 17:46
其实你需要静下来自己思考一下上面大家的回帖,
你就是犯了一个低级的错误,把 func 跟  func() 混淆了 ...

还有,请问使用回调函数时,是主函数执行完了,再去执行回调函数?如果是的话,这不就是多线程的问题了吗?而回调函数好像是单线程内完成的。一直没搞懂这个流程。

0

主题

22

回帖

167

积分

一级会员

积分
167
发表于 2018-1-4 09:06:39 | 显示全部楼层
  1. function a( temp ){ //自定义的主函数
  2.         console.log("这是  主函数  ") ;
  3.         temp();//这里去执行,而且不是多线程是在同一线程执行
  4. }
复制代码

42

主题

80

回帖

950

积分

荣誉会员

积分
950
发表于 2018-1-4 09:11:07 | 显示全部楼层
本帖最后由 cad 于 2018-1-4 09:19 编辑

只是一个普通函数,不要做过多的解读,
只是一个普通函数,不要做过多的解读
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

手机版|未经许可严禁引用或转载本站文章|aardio.com|aardio 官方社区 ( 皖ICP备09012014号 )

GMT+8, 2024-4-15 05:02 , Processed in 0.057251 second(s), 22 queries .

Powered by Discuz! X3.5

Copyright © 2001-2023 Tencent Cloud.

快速回复 返回顶部 返回列表