为什么new在以下jquery代码中是可选的?

Ada*_*Lee 1 javascript jquery

阅读JQuery的文档,我们可以通过构造事件对象

//Create a new jQuery.Event object without the "new" operator.
var e = jQuery.Event( "click" );
Run Code Online (Sandbox Code Playgroud)

我想知道为什么我们可以在不使用new的情况下构建Event?这对我来说是违反直觉的.

Que*_*tin 5

该函数的第一件事是:

if (! (this instanceof jQuery.Event)) {
    return new jQuery.Event(src, props);
}
Run Code Online (Sandbox Code Playgroud)

如果你没有创建一个Event对象,它会创建一个(传递你传入的参数)然后返回它,所以第一次调用Event函数什么都不做.