Once Pattern in JavaScript
1 min readAug 13, 2015
Some times you could have a given functionality which should only be executed one time. Something similar at the way we use an onload event.
Here is a JavaScript function which let you follow this “Once Pattern” and prevent your code to perform an operation if the function has been executed before:
function once(fn, context) {
var result;
return function() {
if (fn) {
result = fn.apply(context || this, arguments);
fn = null;
}
return result;
};
}
var onceAlert = once(function(){
alert('Show me only once time!');
});
onceAlert(); //This operation will be executed.
onceAlert(); //This operation will not.
Check out this Live Demo.