Javascript 拼图 - 一行

标签 javascript callback

你能在不抛出错误的情况下解决这个问题吗?答案是单线。这是来自一个死的职位发布,在回复中要求回答。我认为这是剔除受访者的聪明方法,但我似乎无法在不出错的情况下回答它。

显而易见的解决方案:

f.moo(alert(f.foo));

但这会抛出 TypeError: callback is undefined { message="callback is undefined", more...}

var f = (function(){
  return {
    foo : "bar",
    moo : function(callback){
      callback.call(this)
    }
  }
})();
//alert "bar" by foo

最佳答案

您必须向f.moo 传递一个函数。您正在调用 alert 并传递 alert 的结果(什么都没有)。

f.moo(function() { alert(this.foo); });

关于Javascript 拼图 - 一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4157514/

相关文章:

javascript - for 循环中函数回调的问题

javascript - 访问传递给回调的变量

node.js - 如何在事件处理程序中进行异步调用

javascript - 如何找出屏幕底部和最底部 HTML 内容之间的间隙?

javascript - Firefox 'Error loading script' 在 FF2 中加载 Google Analytics

javascript - Ember 组件 sendAction() 不工作

javascript - 动态翻译服务 Ionic 2 Angular 2 ngx-translate

javascript - 将 props 附加到 props 的无状态函数上

c++ - 我怎样才能明智地分配静态 RtMidi 回调对象?

javascript - 捕获回调函数抛出的错误