Cet exemple semble correct sauf pour la première ligne, ce deux-points doit être un signe égal.
Le problème, je devine, a à voir avec comment vous appelez ShipProduct
. Si vous faites comme ça, tout devrait fonctionner:
var customer = new Customer();
customer.ShipProduct();
Toutefois, si vous détachez la méthode et l'appeler directement, il ne fonctionnera pas. Tels que:
var customer = new Customer();
var shipMethod = customer.ShipProduct;
shipMethod();
C'est parce que JavaScript repose sur la notation accesseur de point à lierthis
. Je devine que vous passez la méthode autour, peut-être à un rappel Ajax ou quelque chose.
Ce que vous devez faire dans ce cas, il envelopper dans une fonction. Tels que:
var customer = new Customer();
var shipMethod = function() {
customer.shipMethod();
};
... later, in some other context ...
shipMethod();
Pouvez-vous essayer en déplaçant simplement la méthode notifier au-dessus de la méthode ShipProduct? – InSane
@In Sane - Non, cela ne fonctionne pas – Nick