构造函数输出

function Foo(){
    Foo.a = function(){
        console.log(1)
    } 
    this.a = function(){
        console.log(2)
    }
}
Foo.prototype.a = function(){
    console.log(3)
}
Foo.a = function(){
    console.log(4)
}

Foo.a() // 4
let foo = new Foo()
foo.a() // 2
Foo.a() // 1

注:Foo()、new Foo()均相当于调用Foo函数。

原文地址:https://www.cnblogs.com/zhenjianyu/p/13518798.html