我的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