@CMS এর সাথে উত্তর দেওয়া ফাংশন র্যাপারটিতে তৈরি শর্টকাটগুলি (সিনট্যাকটিক চিনি) রয়েছে। (নীচে ধরে নিবেন যে আপনি যে প্রসঙ্গটি চান তা হ'ল this.tip
)
আপনি যদি ECMA-262, 5 ম সংস্করণ (ECMAScript 5) বা Node.js এর সাথে সামঞ্জস্যপূর্ণ ব্রাউজারটিকে লক্ষ্য করেন তবে আপনি ব্যবহার করতে পারেন Function.prototype.bind
। আংশিক ফাংশন তৈরি করতে আপনি কোনও ফাংশন যুক্তি optionচ্ছিকভাবে পাস করতে পারেন ।
fun.bind(thisArg[, arg1[, arg2[, ...]]])
আবার আপনার ক্ষেত্রে এটি ব্যবহার করে দেখুন:
if (this.options.destroyOnHide) {
setTimeout(this.tip.destroy.bind(this.tip), 1000);
}
একই কার্যকারিতা প্রোটোটাইপ (অন্য কোনও গ্রন্থাগার?) এও প্রয়োগ করা হয়েছে ।
Function.prototype.bind
আপনি যদি কাস্টম পিছনের সামঞ্জস্যতা চান তবে এটি প্রয়োগ করা যেতে পারে (তবে দয়া করে নোটগুলি পর্যবেক্ষণ করুন)।
কাটিয়া-বিকাশের বিকাশের জন্য (২০১৫) আপনি চর্বিযুক্ত তীর ফাংশনগুলি ব্যবহার করতে পারেন যা ECMAScript 2015 (সম্প্রীতি / ES6 / ES2015) এর অংশবিশেষ ( উদাহরণ )।
একটি তীর ফাংশন এক্সপ্রেশন ( ফ্যাট অ্যারো ফাংশন নামেও পরিচিত ) ফাংশন এক্সপ্রেশনগুলির তুলনায় একটি সংক্ষিপ্ত বাক্য গঠন করে এবং this
মানটিকে বর্ণিতভাবে আবদ্ধ করে [...]।
(param1, param2, ...rest) => { statements }
আপনার ক্ষেত্রে, এটি চেষ্টা করুন:
if (this.options.destroyOnHide) {
setTimeout(() => { this.tip.destroy(); }, 1000);
}
আপনি যদি ইতিমধ্যে jQuery 1.4+ ব্যবহার করে থাকেন তবে this
কোনও ফাংশনের প্রসঙ্গটি সুস্পষ্টভাবে সেট করার জন্য একটি প্রস্তুত ফাংশন রয়েছে।
jQuery.proxy () : একটি ফাংশন নেয় এবং একটি নতুন ফিরিয়ে দেয় যা সর্বদা একটি নির্দিষ্ট প্রসঙ্গ থাকবে।
$.proxy(function, context[, additionalArguments])
আপনার ক্ষেত্রে, এটি চেষ্টা করুন:
if (this.options.destroyOnHide) {
setTimeout($.proxy(this.tip.destroy, this.tip), 1000);
}
এটি 1 , 2 হিসাবে, ইন্ডোরস্কোর.জেএস এবং লোডাশে উপলভ্য_.bind(...)
বেঁধে বাঁধুন একটা অবজেক্ট একটি ফাংশন, যার মানে হল যখনই ফাংশন বলা হয়, এর মানthis
বস্তু হতে হবে। Allyচ্ছিকভাবে, পূর্বে পূরণ করার জন্য ফাংশনটিতে যুক্তিগুলি আবদ্ধ করুন, এটি আংশিক অ্যাপ্লিকেশন নামেও পরিচিত।
_.bind(function, object, [*arguments])
আপনার ক্ষেত্রে, এটি চেষ্টা করুন:
if (this.options.destroyOnHide) {
setTimeout(_.bind(this.tip.destroy, this.tip), 1000);
}
বাঁধাই করা jQuery underscore.js ECMAScript -5 prototypejs Node.js