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