首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Javascript Puzzle One Liner

Javascript Puzzle One Liner
EN

Stack Overflow用户
提问于 2010-11-12 01:47:57
回答 2查看 471关注 0票数 3

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

显而易见的解决方案是:

代码语言:javascript
运行
复制
f.moo(alert(f.foo));

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

代码语言:javascript
运行
复制
var f = (function(){
  return {
    foo : "bar",
    moo : function(callback){
      callback.call(this)
    }
  }
})();
//alert "bar" by foo
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-11-12 01:50:30

您必须向f.moo传递一个函数。您将调用alert并传递alert的结果(即nothing)。

代码语言:javascript
运行
复制
f.moo(function() { alert(this.foo); });
票数 10
EN

Stack Overflow用户

发布于 2010-11-12 01:50:10

嗯..。

代码语言:javascript
运行
复制
alert(f.foo);

或者你忘记提到一些要求了吗?

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4157514

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档