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();
getName();
Foo().getName();
getName();
new Foo.getName();
new Foo().getName();
new new Foo().getName();
解析一下为什么?
浏览器执行Js程序的时候,分两步:
我们来分析题目
先预解析,预解析仓库里有:
执行代码:
下面我们来分析这几个题:
这题不错,欢迎指正。