当使用 new关键字调用构造函数时,Javascript 中的 return语句可以返回 this以外的值的确切情况是什么?
例如:
function Foo () {
return something;
}
var foo = new Foo ();
如果我没有弄错的话,如果 something是一个非函数原语,那么将返回 this。否则返回 something。是这样吗?
换句话说,something可以取什么值来引起 (new Foo () instanceof Foo) === false?