के बीच अजीब बातचीत क्या कोई कारण है कि कोड की यह पंक्ति विफल क्यों होनी चाहिए?नए फंक्शन और eval
new Function("eval('function foo(){ alert() }'); foo()")()
यह क्रोमियम में एक चेतावनी के रूप में उम्मीद दिखाई दे, लेकिन (foo परिभाषित नहीं है) फ़ायरफ़ॉक्स में विफल रहता है। क्या यह फ़ायरफ़ॉक्स बग है, या मेरे कोड में कुछ गड़बड़ है?
यह एक सख्त/गैर सख्त मोड की तरह लगता है - क्या आप _sure_ हैं, आप दोनों को गैर-सख्त मोड में चलाया है? (क्रोम का व्यवहार) या सख्त मोड (फ़ायरफ़ॉक्स)? (अपडेट: इस स्पेस को देखकर यह एक एएस 5 बनाम es2015 (es6) चीज हो सकता है) –
@ बेंजामिनग्रेनबाम मैंने इसके बारे में सोचा। मुझे यकीन है कि मैं दोनों गैर-प्रतिबंधित मोड में भाग गया। लेकिन सख्त मोड का कोई प्रभाव नहीं होना चाहिए, क्योंकि नए फ़ंक्शन को प्रतिबिंबित नहीं करना चाहिए (नियमित फ़ंक्शन के विपरीत)। – user2345215
हालांकि यह दिलचस्प है कि ब्राउज़र अलग-अलग व्यवहार करते हैं, फिर भी मुझे आश्चर्य है कि "हम क्यों परवाह करते हैं?" एक्सडी –