一道痛苦的代码输出题

0 阅读1分钟
function Foo() {
  getName = function () {
    console.log(1)
  }
  return this
}
Foo.getName = function () {
  console.log(2)
}
Foo.prototype.getName = function () {
  console.log(3)
}
var getName = function () {
  console.log(4)
}
function getName() {
  console.log(5)
}
Foo.getName()
// 2
getName()
// 4
Foo().getName()
// 1
getName()
//  1
new Foo.getName()
// 2
new Foo().getName()
//  3
new new Foo().getName()
//  3
// 2411233