Для нижеприведенного фрагмента кода я ожидаю ответа как «число», но я получаю его как «неопределенный». Может ли кто-нибудь помочь мне здесь, чтобы узнать, почему его возвращение «не определено»?Доступ к свойствам объекта javascript в методе
var foo = {
bar: function() {
return this.baz;
},
baz: 1
};
(function() {
return typeof arguments[0](); //this will return "undefined"
})(foo.bar);
Если я сделать TYPEOF foo.bar(), то это даст мне ожидаемый ответ, как «число».
Заранее спасибо.
Я собирался ответить на тот же 'уаг Foo = { бар: функция() { console.log (это); return this.baz; } .bind (foo), baz: 1 }; (функция() { return typeof arguments [0](); } (foo.bar)); '. В любом случае +1 для приятного объяснения – Tushar
Спасибо Кроудеру и Тушару. Но второй способ по-прежнему возвращает «неопределенный», не так ли? – Parashuram
@Parashuram 'return foo.bar.apply (foo, arguments);' use 'foo' вместо' this' – Tushar