Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/448.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/kubernetes/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用可选的新关键字实现jQuery.Deferred?_Javascript_Jquery - Fatal编程技术网

Javascript 如何使用可选的新关键字实现jQuery.Deferred?

Javascript 如何使用可选的新关键字实现jQuery.Deferred?,javascript,jquery,Javascript,Jquery,从中,可以使用$.Deferred()或新建$.Deferred()创建jQuery.Deferred构造函数的实例。new关键字是可选的 如何在我的构造函数中实现类似的东西?如果你的函数不是作为构造函数调用的,那么this将不会是它的实例。因此,您可以利用此功能检测新的-less呼叫: function MyObject(arg1, arg2, arg3) { if(!(this instanceof MyObject)) { return new MyObject(arg1, a

从中,可以使用
$.Deferred()
新建$.Deferred()
创建
jQuery.Deferred
构造函数的实例。
new
关键字是可选的


如何在我的构造函数中实现类似的东西?

如果你的函数不是作为构造函数调用的,那么
this
将不会是它的实例。因此,您可以利用此功能检测
新的
-less呼叫:

function MyObject(arg1, arg2, arg3) {
  if(!(this instanceof MyObject)) {
    return new MyObject(arg1, arg2, arg3);
  }

  /* Normal constructor code... */
}

jQuery.Deferred
函数只是一个工厂函数,它返回一个对象。新的
将被“忽略”,它不使用
这个