জাভাস্ক্রিপ্টে, আমি কীভাবে 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);