我有以下代码。我希望 console.log(this.info)在浏览器控制台中打印 john 。但它显示undefined。有人可以告诉我为什么吗?
fmt = "_other_ext_@0@"
myTgt = fmt.format(file[0][0])
答案 0 :(得分:3)
您必须绑定对象以指定this
在其中工作的 context :
secondObj.logger.bind(firstObj)
const firstObj = {
info: "john",
display: function (logger) {
logger();
}
}
const secondObj = {
info: "mike",
logger: function () {
console.log(this.info); // logs undefind . but i expected to log john
}
};
firstObj.display(secondObj.logger.bind(firstObj));