В PHP вы можете обнаружить, когда метод вызывается, даже если он не существует, используя функцию "magic" __call
.
public function __call($methodName, $args)
{
// do something
}
Вы можете вызвать любой метод, и имя и аргументы передаются этому волшебному catch-all.
Есть ли аналогичный метод в JavaScript, который позволил бы вызывать любой метод, даже если он на самом деле не существовал на объекте?
var foo = (function () {
return {
__call: function (name, args) { // NOT REAL CODE
alert(name); // "nonExistent"
}
}
}());
foo.nonExistent();