2 回答

TA貢獻(xiàn)1799條經(jīng)驗(yàn) 獲得超8個贊
Person().getAge(); // 10 普通的函數(shù)調(diào)用?
(對就是普通的函數(shù)調(diào)用)
getAge(); // 不懂為什么輸出10
(因?yàn)樯厦娴暮瘮?shù)調(diào)用,讓全局變量getAge指針發(fā)生了變化,指向了新函數(shù))
new Person.getAge(); // 也是Person的靜態(tài)方法調(diào)用?
(這個是構(gòu)造函數(shù)調(diào)用,創(chuàng)建了一個 Person.getAge 的實(shí)例)
new Person().getAge(); // 30
// new Person()返回一個Person實(shí)例, 沿著原型鏈尋找, 打印30?
// Person里本身就有g(shù)etAge()方法,為什么還會去原型鏈上尋找?
(這個是構(gòu)造函數(shù)調(diào)用,創(chuàng)建了一個 Person 的實(shí)例,而 Person 上面是沒有g(shù)etAge這個方法的,
所以從原型鏈上找。Person中的那個getAge不是它的屬性,那是一個全局變量,可以說是window的屬性。
你可以試一下window.getAge();//10)
添加回答
舉報(bào)