2 回答

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