在使用 new
关键字调用构造函数时,有什么确切的情况下,JavaScript 中的 return
语句可以返回一个除了 this
之外的值呢?
例如:
function Foo () {
return something;
}
var foo = new Foo ();
如果我没记错的话,如果something
是一个非函数原始值(primitive),那么this
将会被返回。否则返回something
。这个说法正确吗?
换句话说,something
可以取什么值导致(new Foo() instanceof Foo) === false
?