关于原型的 JS 题
1 |
|
答案:4 3 1 3 1 2 2
1.getName()
function 和 var 都会提升,function 作为第一公民,比 var 优先级更高,所以 var 会覆盖 function
2.Foo.getName()
第十一行代码将 Foo 的 getName 方法指向了一个新的函数,所以 Foo.getName 调用的是新的函数
3.Foo().getName()
Foo() 执行的时候,将 window 的 getName 方法改写,并且 Foo 的 this 就是 window,所以调用的是 window.getName
4.new Foo.getName()
本质还是执行的 Foo.getName()
5.getName()
由于之前执行了 Foo() getName 被改写,现在执行的是被改写后的 getName()
6.new Foo().getName()
创造了 Foo 的实例,执行 getName 顺着原型链向上找到 Foo.prototype.getName()
7.new new Foo().getName()
同 6
关于原型的 JS 题
https://l1ushun.github.io/2024/07/28/this-topic/