दो विकल्प:
स्थैतिक चर यहाँ स्थिर (जैसे सी में) स्वयं को बंद करने में अपने स्थैतिक चर स्टोर करने के लिए कार्य करता है कॉलिंग का उपयोग करके चर बनाने का तरीका बताया। इसे चलाता के बाद
var myFun = (function() {
var called = false;
return function() {
if (!called) {
console.log("I've been called");
called = true;
}
}
})()
खाली समारोह प्रतिस्थापन एक खाली कार्य करने के लिए समारोह सेट करें।
function callonce() {
console.log("I've been called");
arguments.callee = function() {};
}
सार विचार यहाँ एक समारोह में एक समारोह है कि केवल एक बार कहा जाता हो जाता है, इस तरह से हम हर कार्य करने के लिए बॉयलर प्लेट कोड जोड़ने के बारे में चिंता करने की जरूरत नहीं है देता है कि है।
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
की [कैसे पता है जावास्क्रिप्ट में फोन करने वाले समारोह?] (
स्रोत
2011-01-29 01:20:20
संभव डुप्लिकेट http://stackoverflow.com/questions/280389/how-do-you-find-out-the-caller-function -इन-जावास्क्रिप्ट) – Ralgha