我对JavaScript对象引用的概念感到困惑。假设我们有一个名为greet
的方法属性的对象,我们将该方法存储在名为sayIt
的变量中。当我们使用存储的方法属性调用该变量时,它返回undefined
,因为它引用了全局对象而不是具有属性firstName
的person对象。
为何在引用对象时返回undefined
?这是一个例子:
var person = {
firstName : 'Boaz',
lastName : 'Sender',
greet : function() {
console.log( 'Hi, ' + this.firstName );
}
};
var sayIt = person.greet; // store the method in a variable
sayIt(); // logs 'Hi, undefined' -- uh-oh