जावास्क्रिप्ट में, मैं thisपैरामीटर को बाध्य किए बिना किसी फ़ंक्शन के लिए तर्क कैसे बांध सकता हूं ?
उदाहरण के लिए:
//Example function.
var c = function(a, b, c, callback) {};
//Bind values 1, 2, and 3 to a, b, and c, leave callback unbound.
var b = c.bind(null, 1, 2, 3); //How can I do this without binding scope?
मैं फ़ंक्शन के दायरे (जैसे सेटिंग this= अशक्त) को बाँधने के दुष्प्रभाव से कैसे बच सकता हूँ ?
संपादित करें:
गलतफहमी के लिए खेद है। मैं तर्कों को बांधना चाहता हूं, फिर बाद में बाध्य फ़ंक्शन को कॉल करने में सक्षम हो सकता हूं और यह बिल्कुल ऐसा व्यवहार करता है जैसे कि मैंने मूल फ़ंक्शन को कॉल किया और इसे बाध्य तर्क दिए:
var x = 'outside object';
var obj = {
x: 'inside object',
c: function(a, b, c, callback) {
console.log(this.x);
}
};
var b = obj.c.bind(null, 1, 2, 3);
//These should both have exact same output.
obj.c(1, 2, 3, function(){});
b(function(){});
//The following works, but I was hoping there was a better way:
var b = obj.c.bind(obj, 1, 2, 3); //Anyway to make it work without typing obj twice?
मैं अभी भी इस पर नया हूँ, भ्रम के लिए खेद है।
धन्यवाद!
bind()होना समस्याग्रस्त क्यों है null? एफएफ में ठीक काम करने लगता है।
thisजावास्क्रिप्ट में पूरी तरह से अनबाउंड नहीं हो सकते । इसका हमेशा कुछ मतलब होता है । तो एनक्लोजिंग फ़ंक्शन के thisलिए बाध्य करना thisबहुत मायने रखता है।
this?var b = c.bind(this, 1,2,3);