我的JavaScript代碼JavaScript方法和屬性調用的區別混淆
var persona = {};
var _id = 3;
var getId = function() {
console.log("getId called")
return _id;
}
persona.getId = getId;
所以,當我打電話使用persona.getId = getId;
getId
方法時不被調用。和控制檯不打印
的getId稱爲
UPDATE
搜索後,瞭解它們之間的區別。 因此,更新我的問題。
persona.getId = getId;
&persona.getId = getId();
這兩個句子做不同的工作。
persona.getId = getId();
上面的語句存儲由的getId()函數來persona.getId屬性返回的值。
persona.getId = getId;
上面的語句存儲中的getId()函數來persona.getId屬性的參考。由於存儲在persona.getId
中的值是函數引用,所以persona.getId
也是一個函數。它可以使用下面的代碼 -
persona.getId();
你是什麼意思到的getId創建引用()? – Anita
@Anita這意味着你可以通過它的別名調用該函數。嘗試在控制檯'function a(){alert('In a'); } var b = a; B();' – Tushar