某一个作用域中代码的运行流程: 形参声明/变量声明 实参赋值 函数提升 运行代码
function fn() {
rank = function () {
alert("盖伦");
};
console.log(this);
return this;
}
fn.rank = function () {
alert("赵信");
};
fn.prototype.rank = function () {
alert("典韦");
};
var rank = function () {
alert("项羽");
};
function rank() {
alert("琴女");
}
fn.rank(); //赵信
rank(); //项羽
fn().rank(); //window 盖伦
rank(); //盖伦
new fn.rank(); //赵信
new fn().rank(); //典韦 fn{}
new new fn().rank(); //典韦 fn{}