调用之间函数中的持久化数据?
我想调用一个带参数的函数并存储该值,以便下次调用不带参数的函数时,它使用设置的最后一个参数。这是否可以通过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();
相关文章