खोज…
परिचय
जावास्क्रिप्ट में, eval
फ़ंक्शन एक स्ट्रिंग का मूल्यांकन करता है जैसे कि यह जावास्क्रिप्ट कोड था। रिटर्न वैल्यू मूल्यांकन स्ट्रिंग का परिणाम है, जैसे eval('2 + 2')
रिटर्न 4
।
eval
वैश्विक दायरे में उपलब्ध है। मूल्यांकन का शाब्दिक दायरा स्थानीय गुंजाइश है जब तक कि अप्रत्यक्ष रूप से लागू नहीं किया जाता है (जैसे var geval = eval; geval(s);
eval
का उपयोग दृढ़ता से हतोत्साहित किया जाता है। विवरण के लिए रिमार्क्स अनुभाग देखें।
वाक्य - विन्यास
- eval (स्ट्रिंग);
पैरामीटर
पैरामीटर | विवरण |
---|---|
तार | जावास्क्रिप्ट का मूल्यांकन किया जाना है। |
टिप्पणियों
eval
का उपयोग दृढ़ता से हतोत्साहित किया जाता है; कई स्थितियों में यह एक सुरक्षा भेद्यता प्रस्तुत करता है।
eval () एक खतरनाक फ़ंक्शन है, जो उस कोड को निष्पादित करता है जिसे कॉल करने वाले के विशेषाधिकार के साथ पास किया गया है। यदि आप दुर्भावनापूर्ण पार्टी से प्रभावित होने वाले स्ट्रिंग के साथ eval () चलाते हैं, तो आप अपने वेबपेज / एक्सटेंशन की अनुमति के साथ उपयोगकर्ता की मशीन पर दुर्भावनापूर्ण कोड को समाप्त कर सकते हैं। इससे भी महत्वपूर्ण बात यह है कि थर्ड पार्टी कोड उस दायरे को देख सकता है जिसमें eval () को लागू किया गया था, जिससे संभव तरीके से संभावित हमले हो सकते हैं, जिसमें समान फ़ंक्शन अतिसंवेदनशील नहीं है।
इसके अतिरिक्त:
परिचय
आप हमेशा जावास्क्रिप्ट को अपने अंदर से चला सकते हैं, हालांकि यह सुरक्षा कमजोरियों के कारण दृढ़ता से हतोत्साहित होता है जो इसे प्रस्तुत करता है (विवरण के लिए रिमार्क्स देखें)।
जावास्क्रिप्ट को जावास्क्रिप्ट के अंदर से चलाने के लिए, बस नीचे दिए गए फ़ंक्शन का उपयोग करें:
eval("var a = 'Hello, World!'");
मूल्यांकन और गणित
आप नीचे दिए गए कोड के समान कुछ का उपयोग करके eval()
फ़ंक्शन के साथ कुछ के लिए एक चर सेट कर सकते हैं:
var x = 10;
var y = 20;
var a = eval("x * y") + "<br>";
var b = eval("2 + 2") + "<br>";
var c = eval("x + 17") + "<br>";
var res = a + b + c;
परिणाम, चर res
में संग्रहित किया जाएगा:
200
4
27
eval
का उपयोग दृढ़ता से हतोत्साहित किया जाता है। विवरण के लिए रिमार्क्स अनुभाग देखें।
जावास्क्रिप्ट कथनों के एक स्ट्रिंग का मूल्यांकन करें
var x = 5;
var str = "if (x == 5) {console.log('z is 42'); z = 42;} else z = 0; ";
console.log("z is ", eval(str));
eval
का उपयोग दृढ़ता से हतोत्साहित किया जाता है। विवरण के लिए रिमार्क्स अनुभाग देखें।