return {push:function .....在下面的代码片段中是什么意思。当我用Google搜索时,我发现push()方法将新项添加到数组的末尾,并返回新的长度。所以我不确定是什么推动:它似乎是某种语法。有人可以解释一下。
function(notificationsArchive) {
var MAX_LEN = 10;
var notifications = [];
return {
push: function(notification) {
var notificationToArchive;
var newLen = notifications.unshift(notification);
//push method can rely on the closure scope now!
if (newLen > MAX_LEN) {
notificationToArchive = this.notifications.pop();
notificationsArchive.archive(notificationToArchive);
}
},
// other methods of the NotificationsService
};
答案 0 :(得分:1)
推送引用的方法与使用数组推送无关,它是由模块模式公开的 public 方法。它只公开代码作者希望您能够调用/设置的方法和属性。它隐藏变量MAX_LEN和通知,因此无法从外部更改它们。
OO模块模式的参考:
答案 1 :(得分:0)
function(notificationsArchive) {
var MAX_LEN = 10;
var notifications = [];
return {
push: function(notification) {
var notificationToArchive;
var newLen = notifications.unshift(notification);
//push method can rely on the closure scope now!
if (newLen > MAX_LEN) {
notificationToArchive = this.notifications.pop();
notificationsArchive.archive(notificationToArchive);
}
},
// other methods of the NotificationsService
};