我有一个名为 的简单对象Entry
,直到最近它才具有一些基本属性。在某些事件期间,我将对这些对象执行 REST 操作,以使用 C# 代码中的 API。直到最近,这还不错。我会使用我的小请求服务将这些对象 POST 或 PUT 到 AJAX 请求的主体中,结果如下:
$.ajax(url,
{
type:method,
headers:headers,
data:options.data, //there is an instance of Entry in options.data
timeout: this.timeoutLength
});
最近我在Entry中添加了一个功能。
function Entry(foo, bar){
this.foo = foo;
this.bar = bar;
this.doStuff = function(){ ... } //added this code
}
我添加了该功能,但再次质疑其使用背后的用户故事,因此我切换回浏览器,刷新并运行了更多测试。无需在任何地方调用该函数doStuff
,就可以看到它的效果。
我doStuff
用一个简单的警报替换了 's body,果然,每次我在幕后使用 Entry 对象调用 AJAX 请求时,我都会收到警报消息。为什么会发生这种情况?为什么doStuff
在没有我告诉的情况下被调用?