我有一个功能。说函数createObj(){}


var obj1 = new createObj();
var obj2 = createObj();


您需要在函数createObj()中进行哪些更改以支持上述secenario中的带和不带new关键字。两者应同时工作。

最佳答案

在功能中测试this的类型,并在需要时在内部使用new关键字

function createObj()
{
   if ( !(this instanceof createObj) )
      return new createObj();

   // add existing code of function createObj here ...
}

关于javascript - 如何在不使用新关键字的情况下从函数创建对象,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37269966/

10-13 00:44