javascript - How can I *unpack* an object into a function's scope? -


मेरे पास यह कोड है ...

  फ़ंक्शन ए (विकल्प) {for (var आइटम विकल्प में) {if (options.hasOwnProperty (आइटम)) {continue; } यह [आइटम] = विकल्प [आइटम]; }} A ({'abc': 'def'});   

हालांकि यह ऑब्जेक्ट से चर को अनपैक करता है, यह उन्हें वैश्विक स्कोप ( window से जुड़ा हुआ है) के कारण सेट करता है क्योंकि यह

तो इस स्थिति में विंडो है।

फ़ंक्शन के बाद मैं अलर्ट (एबीसी) कर सकता हूं और यह डीईएफ , जो अच्छा नहीं है।

मैं फ़ंक्शन के चर का दायरा कैसे सेट करूँगा?

यदि आप वस्तु के गुणों को समारोह के दायरे में रखना चाहते हैं, तो आप के साथ का प्रयोग करके दायरे को बढ़ाएं :

  फ़ंक्शन एक (विकल्प) {के साथ (विकल्प) {// `विकल्पों` के गुण हैं I दायरा चेतावनी (एबीसी); }}   

अस्वीकरण :। इसे टाला जाना चाहिए और इसे भी बहिष्कृत किया जाना चाहिए:

के साथ का उपयोग करना अनुशंसित नहीं है, और इसे ECMAScript 5 सख्त मोड में मना किया जाता है अनुशंसित विकल्प ऑब्जेक्ट को असाइन करना है, जिसकी संपत्तियों को आप अस्थायी चर में एक्सेस करना चाहते हैं।

तो प्रश्न क्यों options के साथ छड़ी नहीं है?

Comments