调用之间函数中的持久化数据? [英] JavaScript - Persistent data in function between calls?

查看:18
本文介绍了调用之间函数中的持久化数据?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想调用一个带参数的函数并存储该值,以便下次调用不带参数的函数时,它使用设置的最后一个参数。这是否可以通过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();

这篇关于调用之间函数中的持久化数据?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆