İki seçenek:
Statik değişkenler İşte kapanması da statik değişkenleri saklamak için fonksiyonları çağıran kendini kullanılarak değişkenler (C gibi) statik oluşturmak için nasıl. çalışmaya başladıktan sonra
var myFun = (function() {
var called = false;
return function() {
if (!called) {
console.log("I've been called");
called = true;
}
}
})()
Boş Fonksiyon yedek boş işleve işlevini ayarlayın.
function callonce() {
console.log("I've been called");
arguments.callee = function() {};
}
Özet fikri Burada sadece bir kere çağrılır bir işlev, her fonksiyona kazan plaka kodunu ekleme konusunda endişelenmenize gerek yok bu şekilde döndüren bir fonksiyondur.
function makeSingleCallFun(fun) {
var called = false;
return function() {
if (!called) {
called = true;
return fun.apply(this, arguments);
}
}
}
// Alternate implementation
function makeSingleCallFun(fun) {
return function() {
return fun.apply(this, arguments);
arguments.callee = function() {};
}
}
var myFun = makeSingleCallFun(function() {
console.log("I've been called");
});
myFun(); // logs I've been called
myFun(); // Does nothing
[JavaScript'te arayan işlevini öğrenmek nasıl?] Arasında (
olası yinelenen http://stackoverflow.com/questions/280389/how-do-you-find-out-the-caller-function -in-javascript) – Ralgha