Сообщение от devote
|
ну и теперь и вы передаете контекст, но контекст скорее всего равен объекту window:
function fnc() {
alert( "Наш контекст внутри функции fnc: " + this );
alert(this.t);
}
(function () {
alert( "Наш контекст внутри безымянной функции: " + this );
this.t = "ну и олень";
fnc.apply( this, arguments );
}());
Другой вариант:
function fnc() {
alert( "Наш контекст внутри функции fnc: " + this );
alert(this.t);
}
(function () {
alert( "Наш контекст внутри безымянной функции: " + this );
var context = {
t: "ну и олень"
};
fnc.apply( context, arguments );
}());
|
а теперь дошло
var user = {
log: function() {
logService.add.apply(logService, arguments);
}
}
var logService = {
add: function() {
alert( this.format(arguments) );
},
вместо this тут logService и вызывается его метод format ,а в качестве аргументов передаются аргументы переданные user.log
format: function(args) {
return [].join.call(args, ' ');
}
}
user.log("Вася", "сказал", "что-то умное..");