我的代码如下所示:
obj.foo(); // obj might, or might not have a `foo` method.
我想知道我是否可以覆盖obj.foo
在我的代码中调用时发生的情况,例如:
obj.foo = function(){ alert ("Hello"); });
obj.onCallNonExistentMethod = function(){ // I know this is imaginary syntax
alert("World");
}
obj.foo(); // alerts "Hello"
delete obj.foo;
obj.foo(); // alerts "World" , would TypeError without the method missing handler.
据我了解,在 Ruby 中会是method_missing
或const_missing
类似的东西。
我可以覆盖调用 JavaScript 中不存在的对象方法时发生的情况吗?如果可以,我该怎么做?
目标是验证我提供给用户的 API,以便他们可以安全地使用 API,并且我可以更清楚地警告他们出现错误。