के साथ eval() का उपयोग करना का आह्वान करते समय वैश्विक के लिए उपयोग करने के लिए कौन सा ऑब्जेक्ट निर्दिष्ट करने का कोई तरीका है?एक कस्टम वैश्विक
(मैं कैसे वैश्विक eval() नहीं करने के लिए पूछ रहा हूँ।)
यह काम नहीं कर रहा है, लेकिन इस दिखाता है कि मैं क्या करना चाहते हैं:
var pseudoGlobal = {};
eval("x = 12", pseudoGlobal);
pseudoGlobal.x; // 12
मुद्दा यह है कि वास्तविक वैश्विक बाइंडिंग हो रहा है अंतर्निहित परिवर्तनीय घोषणा (यानी var कीवर्ड) कोड eval() 'ed में) से प्रभावित नहीं है।
eval.call(pseudoGlobal, "x=12")
या eval.apply(pseudoGlobal, ["x=12"])
के लिए, कुछ दुभाषिया इसे अनुमति नहीं देंगे।
इरादा जावास्क्रिप्ट के भीतर एक पृथक/नियंत्रित/सुरक्षित निष्पादन वातावरण बनाना है। – gawi