function Foo(){ bar=function(){console.log(1)}; return this; } Foo.bar=function(){console.log(2)} Foo.prototype.bar=function(){console.log(3)};var bar = function(){console.log(4)}function bar(){ console.log(5); }new bar(); Foo.bar(); Foo().bar(); bar();new Foo().bar()//4 2 1 1 3
这样浏览器编译后又有函数提升和变量提升了,最后会变成什么结果,为什么new bar会打印4,console.log(5)是不是被永久覆盖了?
相关分类