मैं केवल अपनी जावास्क्रिप्ट को एक बार चलाने के लिए चाहता हूं, लेकिन मैं नियंत्रित नहीं कर सकता कि जावास्क्रिप्ट फ़ाइल कितनी बार निष्पादित की जाती है। असल में मैं एक छोटे जेएस स्निपेट को एक सीएमएस में लिख रहा हूं, और सीएमएस वास्तव में इसे 5-10 बार बुला रहा है। तो इस तरह समाधान:जावास्क्रिप्ट चलने वाला कोड
function never_called_again(args) {
// do some stuff
never_called_again = function (new_args) {
// do nothing
}
}
never_called_again();
काम करने के लिए, क्योंकि जैसे ही मेरी टुकड़ा शीर्ष समारोह फिर से घोषित किया जाता है से फिर से चलाया जाता है, और 'कुछ चीजें करते' प्रतीत नहीं है फिर से मूल्यांकन है। शायद मैं इसे ठीक से नहीं कर रहा हूं, मैं जेएस के साथ अच्छा नहीं हूं। मैं एक वैश्विक चर पर कोशिश पकड़ की तरह कुछ का उपयोग कर विचार कर रहा हूँ, जैसे
if (code_happened == undefined) {
\\ run code
code_happened = true;
}
संपादित कुछ: एक सुसंगत राज्य जैसे नहीं है अगर मैं एक चर सेट करता हूं तो मैं देख सकता हूं कि मेरा स्निपेट फिर से चलाया जाएगा। लेकिन इसे एक्सेस करने से पहले इसे घोषित करने के लिए, मुझे नहीं पता कि 'यह चर अभी तक मौजूद है'
"मैं कैसे कहने के लिए पता नहीं है 'इस चर अभी तक मौजूद है?'" - आम तौर पर यह 'var foo = window.foo || के साथ किया जाता है {} ' – zzzzBov