forked from WangJia-mm/JavaScript201708
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path1.js
More file actions
26 lines (25 loc) · 766 Bytes
/
1.js
File metadata and controls
26 lines (25 loc) · 766 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
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();//=>先获取Foo.getName这个函数,new 这个函数(),把这个函数执行返回这个函数的实例 =>2
new Foo().getName();//=>new Foo()先创建Foo的实例,调用实例的getName =>3
new new Foo().getName();//=>new Foo()返回类的实例f =>new f.getName() =>在把f.getName这个函数获取到(->3),把这个函数执行创建这个函数的实例 =>3