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('鱼香肉丝')}
/*
某一个作用域中代码的运行流程:
形参声明/变量声明 实参赋值 函数提升 运行代码
var rank;
function fn() {
rank = function() {
alert("回锅肉")
}
console.log(this);
return this
}
function rank() {alert('鱼香肉丝')}
fn.rank = function() {alert("青椒肉丝")}
fn.prototype.rank = function() {alert("土豆肉丝")}
rank = function() {alert("红烧肉")}
rank = function() {alert("回锅肉")}
rank = function() {alert("回锅肉")}
rank = function() {alert("回锅肉")}
*/
fn.rank()//青椒肉丝
rank()//红烧肉
fn().rank()//window ==>window.rank() 回锅肉
rank() //回锅肉
new fn.rank()// () > 成员访问|new 带参 > new 无参|函数调用
// new (fn.rank) () ==> new 函数 ()
//青椒肉丝
new fn().rank()
// (new fn()).rank()
//创建的对象 土豆肉丝
new new fn().rank()
// new ((new fn()).rank)()
//创建的对象 土豆肉丝