setTimeout
का उपयोग करते समय, आपको उस कोड को रखना होगा जिसे आप स्ट्रिंग में निष्पादित करना चाहते हैं:setTimeout - कॉलबैक के लिए स्ट्रिंग का उपयोग करने से कैसे बचें?
setTimeout('alert("foobar!");', 1000);
हालांकि, मैं एक फ़ंक्शन निष्पादित करना चाहता हूं जिसमें मेरे पास एक चर में संदर्भ है। मैं ऐसा करने में सक्षम होना चाहता हूं:
var myGreatFunction = function() { alert("foobar!"); };
// ...
setTimeout('myGreatFunction();', 1000);
(हालांकि वास्तविक जीवन में, अलर्ट कोड का एक लंबा हिस्सा है और myGreatFunction
अन्य कार्यों के पैरामीटर के रूप में पारित हो जाता है, जिसमें setTimeout
कहा जाता है।)
बेशक, जब टाइमआउट ट्रिगर होता है, myGreatFunction
एक मान्यता प्राप्त फ़ंक्शन नहीं है, इसलिए यह निष्पादित नहीं होता है।
मेरी इच्छा है कि जावास्क्रिप्ट मुझे ऐसा करने दें, लेकिन यह नहीं करता है:
setTimeout(function() { myGreatFunction(); }, 1000);
क्या इसके चारों ओर एक अच्छा तरीका है?
"setTimeout उपयोग करते समय, आप कोड आप एक स्ट्रिंग में निष्पादित करने के लिए चाहते हैं डाल करने के लिए है" तुम सबसे निश्चित रूप से नहीं ... वास्तव में, आप not_ _should है। –
@ टोमालक - हाँ, आप सही हैं। कीर्तन के उत्तर पर टिप्पणी देखें ...:/ – teedyay
असल में मैंने इसे देखा; हाँ, तुम सही हो - बस किसी और की खातिर जो सवाल :) –