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 当成普通函数从左到右 this指向window
getName();// 1window.getName()此时指向了 foo()中的getName()
new Foo.getName();//2 相当于new (Foo.getname())
new Foo().getName();//3 从左向右 new Foo() > getname()
//因为Foo()私有没有this.getName(),需要到prototype上去找
new new Foo().getName(); //3
28.阿里函数多种角色和运算符优先级的面试题
最新推荐文章于 2021-08-15 00:00:57 发布