javascript - 如何在控制台中显示闭包函数的内容?#javascript
问题描述
JAVASCRIPT 中的闭包您好,我的 javascript 代码遇到了一些困难,也许您可以帮助解决有关闭包的问题。这是我的代码:
function seatReservation(aSeat) {
let secret = aSeat;
return function (){
return secret;
}
};
class Reservations {
#aMailadress;
#mySeatList;
constructor(aMailadress){
this.#aMailadress = aMailadress;
this.#mySeatList = [];
}
addSeatReservation(aSeat){
this.#mySeatList.push(aSeat);
}
printReservations(){
this.#mySeatList.forEach(seat => {
console.log(seat);
});
}
};
// Test
const list = new Reservations('peter@mail.com');
list.addSeatReservation(new seatReservation('D3'));
list.addSeatReservation(new seatReservation('F6'));
list.printReservations();
控制台的输出是:[(匿名函数)] [(匿名函数)]
预期输出:D3 F6
谁能帮忙?谢谢
解决方案
new seatReservation('D3')
创建一个函数,该函数在调用时将返回传递secret
给它的值。例如,您可以这样做:console.log(seat());
. 您调用该函数,从而从闭包中检索数据。
推荐阅读
- angular - 为什么是
没有在 Angular 7 中显示的数据源 - sql - 如何获得除一列外所有值都相同的两行
- azure-functions - 我们如何计算运行编排功能的总时间
- node.js - 提供所需值时如何修复 mongoose 验证器错误,但 mongoose 无法识别
- python - Keras get_weights() 不返回所有权重
- python - 在 Windows 机器上,安装了 Python 3.7,但似乎 3.6 正在运行
- python - 如何测试比较的用法?
- c - 奇怪的 mktime() 行为
- c# - 剃须刀页面中移动设备的页面不同但路由相同
- python - 如何在每 5 个数字后添加换行符?