简单的讨论了Python和Javascript的异同

笔者在之前的一片博客中简单的讨论了Python和Javascript的异同,其实作为一种编程语言Javascript的异步编程是一个非常值得讨论的有趣话题。

  JavaScript 异步编程简介

  回调函数和异步执行

  所谓的异步指的是函数的调用并不直接返回执行的结果,而往往是通过回调函数异步的执行。

  我们先看看回调函数是什么:

  var fn = function(callback) { // do something here ... callback.apply(this, para); }; var mycallback = function(parameter) { // do someting in customer callback }; // call the fn with callback as parameter fn(mycallback);

  回调函数,其实就是调用用户提供的函数,该函数往往是以参数的形式提供的。回调函数并不一定是异步执行的。比如上述的例子中,回调函数是被同步执行的。大部分语言都支持回调,C++可用通过函数指针或者回调对象,Java一般也是使用回调对象。

  在Javascript中有很多通过回调函数来执行的异步调用,例如setTimeout()或者setInterval()。

  setTimeout(function(){ console.log("this will be exectued after 1 second!"); },1000);

  在以上的例子中,setTimeout直接返回,匿名函数会在1000毫秒(不一定能保证是1000毫秒)后异步触发并执行,完成打印控制台的操作。也就是说在异步操作的情境下,函数直接返回,把控制权交给回调函数,回调函数会在以后的某一个时间片被调度执行。那么为什么需要异步呢?为什么不能直接在当前函数中完成操作呢?这就需要了解Javascript的线程模型了。

http://blog.renren.com/blog/818891463/928031480
http://blog.renren.com/blog/818891463/928030919
http://blog.renren.com/blog/814709942/926555577
http://blog.renren.com/blog/814709942/928031398
http://blog.renren.com/blog/814709942/928031145
http://blog.renren.com/blog/814709942/928031084
http://blog.renren.com/blog/814709942/928030866
http://blog.renren.com/blog/818892368/928031581
http://blog.renren.com/blog/818892368/928031314
http://blog.renren.com/blog/818892368/928030987
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值