7
अगला कोड मान्य जावास्क्रिप्ट कोड क्यों है?यह कोड मान्य क्यों है: "(1, eval) ('this')"
var global = (1,eval)('this');
alert(global);
अगला कोड मान्य जावास्क्रिप्ट कोड क्यों है?यह कोड मान्य क्यों है: "(1, eval) ('this')"
var global = (1,eval)('this');
alert(global);
ऐसा इसलिए है क्योंकि comma operator अपनी दूसरी संकार्य रिटर्न (और दोनों का मूल्यांकन करता है) है।
अपने प्रश्न में कोड के बराबर है:
1;
var global = eval('this');
alert(global);
दुख की बात लेकिन सच है ... – powtac
आप व्याख्या कर सकते हैं या हो सकता है कुछ लिंक उपयोगी भी वास्तव में उलझन में हो जाएगा। –
@ शेख, मैंने अपने उत्तर में एमडीएन दस्तावेज से लिंक किया :) मूल रूप से, '(1, eval) 'अल्पविराम ऑपरेटर',' '' '' और 'eval' लागू होता है। ऑपरेटर '1' का मूल्यांकन करता है, फिर मूल्यांकन करता है और' eval' देता है। इसलिए, 'foo = (1, eval) (कुछ) '' 1 के बराबर है; foo = eval (कुछ); '। –