新实例本身不是实例

时间:2016-07-20 10:17:35

标签: javascript

function f(){
    return f;
}
console.log(new f() instanceof f); 

上面的代码段输出为false。怎么会发生?

2 个答案:

答案 0 :(得分:3)

函数f正在返回对自身的引用。不要从函数返回任何内容。因此,默认情况下将返回函数上下文this

new f()会返回f的引用,f显然不是function f() { // No need to return anything // return this is implicit } console.log(new f() instanceof f);(本身)的实例。

os.remove()

答案 1 :(得分:2)

您要返回的

f不是实例,它是函数/构造函数f,而不是return f执行return this - 这将是f