मैं Function.prototype.bind
का उपयोग कर करी और अन्य तकनीकों के बारे में अपना सिर लपेट रहा हूं।
कुछ स्थितियों में फ़ंक्शन स्कोप (यानी, this
मान) को बदलने के लिए यह बहुत उपयोगी लगता है।क्या मुझे जावास्क्रिप्ट में बाध्य फ़ंक्शन से एक अनबाउंड फ़ंक्शन मिल सकता है?
हालांकि it looks like you can't change the scope with bind
एक बार आप पहले से ही ऐसा किया:
function f = obj.method.bind(42);
function g = obj.method.bind('Hi');
function f2 = f.bind('Hi'); // “this” is still 42
यह बिल्कुल एक बाध्य समारोह से मूल अनबाउंड समारोह को पुनः प्राप्त करना संभव है?
क्या आपने कोशिश की है? –
@ मार्टिन: मैं अभी एक बेवकूफ बना रहा हूँ। यह किसी ऐसे व्यक्ति को बहुत ही सरल सवाल जैसा लगता है जो उत्तर जानता है, इसलिए मैंने पूर्व शोध के बिना एक प्रश्न क्यों पोस्ट किया। –
@ मार्टिन: मैं बस [मेरी धारणाओं की जांच की] (http://jsfiddle.net/dXq2E/) और ऐसा लगता है कि मैं दो बार 'बाइंड' के साथ दायरा नहीं बदल सकता। तो, क्या यह बिल्कुल संभव है? क्या कोई 'अनबिंड' है? –