Javascript Puzzle - Один вкладыш - PullRequest
3 голосов
/ 11 ноября 2010

Можете ли вы решить эту проблему, не выдавая ошибку?Ответ однострочник.Это из мертвой вакансии, ответ был запрошен в ответе.Я думал, что это умный способ отсеять респондентов, но я не могу ответить на него, не получив также ошибки.

Очевидное решение:

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

Ответы [ 2 ]

10 голосов
/ 11 ноября 2010

Вы должны передать f.moo функцию. Вы звоните alert и вместо этого передаете результат alert (что ничего).

f.moo(function() { alert(this.foo); });
2 голосов
/ 11 ноября 2010

Хм ...

alert(f.foo);

Или вы забыли упомянуть некоторые требования?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...