调用之间函数中的持久化数据?

2022-04-02 00:00:00 function persistence javascript

我想调用一个带参数的函数并存储该值,以便下次调用不带参数的函数时,它使用设置的最后一个参数。这是否可以通过JavaScript实现?

编辑:以下是有关我正在尝试实现的目标的更多信息...

var track = 0;
$.getJSON('songsMetadata.json', function(data){
    appendData(data);
});
player.bind("ended", function(){
    track++
    appendData();
});
function appendData(data){
    /* Here I want to populate 
     the inside 'data' argument 
    only once (in the callback of 
    getJSON) and use that same
    data in the 'player.bind' 
    callback */

    //Some code to append data[track] to an HTML list
}

解决方案

更笼统地说:

function enclose(func) {
 let args = [];
 return function (...passed) {
   if(passed.length) args = passed;
   func(...args);
 };
}

用法:

const log = enclose(console.log.bind(console));
log(5,1);
log();

相关文章