Передача и возврат аргументов функции
var foo = {
bar: function() { return this.baz; },
baz: 1
};
(function(){
return typeof arguments[0]();
})(foo.bar);
Почему этот код возвращаетсяundefined
?
Я бы предположилarguments[0]
будет держатьfoo.bar
, который является функцией. Когда вызывается черезarguments[0]()
он должен вернуть результат оценки функции в этом случае1
, Следовательно,typeof arguments[0]()
должен вернуть «номер» (какtypeof 1
). Вместо этого он возвращаетundefined
, Почему?