Например, возьмите этот код из Angular.js:Являются ли обратные вызовы в Javascript действительно вызовами методов? Если да, то как они «каскадируются»?
app.config(function ($routeProvider) {
$routeProvider
.when('/', {
templateUrl: 'page/hello.html',
controller: 'mainCount'
})
.when('/pag', {
templateUrl: 'page/hello.html',
controller: 'secondCount'
})
});
Так $routeProvider
является объектом, и кажется, что .when
(обратный вызов) является вызов функции. Если да, то как эти два вызова метода выше вызывается «один поверх другого»?
Обычно, я бы ожидать, что это произойдет:
object.method().method()
второй метод вызывается для объекта, возвращенного первым способом. Ясно, что этого не происходит в приведенном выше Угловом примере. Так что здесь происходит?
Хм, я полагаю, метод 'when()' возвращает '$ routeProvider', позволяя вам продолжать вызывать функции на нем? – Arg0n
'.when' является вызовом метода и не имеет ничего общего с обратными вызовами. – Bergi