new Function
পুনরায় ব্যবহার করা যেতে পারে এমন একটি ফাংশন তৈরি করে। eval
কেবলমাত্র প্রদত্ত স্ট্রিং কার্যকর করে শেষ বিবৃতিটির ফলাফল প্রদান করে। আপনার প্রশ্নটি বিপথগামী হয়ে গেছে আপনি যখন একটি মোড়ক ফাংশন তৈরি করার চেষ্টা করেছিলেন যা ফাংশনটিকে একটি emল অনুকরণ করতে ব্যবহার করে।
তারা কি পর্দার পিছনে কিছু কোড ভাগ করে নিচ্ছে তা সত্য? হ্যাঁ, খুব সম্ভবত ঠিক একই কোড? না, অবশ্যই।
মজাদার জন্য, এখানে একটি ক্রিয়াকলাপ তৈরি করার জন্য eval ব্যবহার করে আমার নিজের অসম্পূর্ণ বাস্তবায়ন। আশা করি এতে কিছুটা আলোকপাত হয়েছে!
function makeFunction() {
var params = [];
for (var i = 0; i < arguments.length - 1; i++) {
params.push(arguments[i]);
}
var code = arguments[arguments.length - 1];
return eval('[function (' + params.join(',')+ '){' + code + '}][0]');
}
এই এবং নতুন ফাংশনের মধ্যে সবচেয়ে বড় পার্থক্য হ'ল ফাংশনটি নীতিগতভাবে বাদ যায় না। সুতরাং এটি ক্লোজার ভেরিয়েবলগুলিতে অ্যাক্সেস পাবে না এবং আমার হবে।