অদ্ভুত কিন্তু এখনও উপরে প্রশ্ন কর্মক্ষমতা বিষয় উত্তর খুঁজে পেতে অসমর্থ হচ্ছে, আমি এই লিখেছিলেন সারকথা পরীক্ষা nodejs উভয় কর্মক্ষমতা এবং সব উপস্থাপন (এবং রান) সমাধান নির্ভরযোগ্যতা জন্য।
আমি একটি ক্লোন ফাংশন তৈরির ও প্রাচীরের সময়কে একটি ক্লোন নির্বাহের সাথে তুলনা করেছি। দৃ errors় মন্তব্যগুলির সাথে দৃser়তা ত্রুটির সাথে ফলাফলগুলি অন্তর্ভুক্ত।
আমার দুটি সেন্ট প্লাস (লেখকের পরামর্শের ভিত্তিতে):
ক্লোন0 সেন্ট (দ্রুত তবে কৃপণ):
Function.prototype.clone = function() {
var newfun;
eval('newfun=' + this.toString());
for (var key in this)
newfun[key] = this[key];
return newfun;
};
ক্লোন ৪৪ শতাংশ (ধীর কিন্তু তবে যারা ওয়াল অপছন্দ করেন না তাদের উদ্দেশ্যে) কেবল তাদের এবং তাদের পূর্বপুরুষদের জন্য পরিচিত):
Function.prototype.clone = function() {
var newfun = new Function('return ' + this.toString())();
for (var key in this)
newfun[key] = this[key];
return newfun;
};
পারফরম্যান্সের ক্ষেত্রে, যদি ওপল / নতুন ফাংশনটি মোড়কের সমাধানের চেয়ে ধীর হয় (এবং এটি সত্যিকারের ফাংশনের দেহের আকারের উপর নির্ভর করে), এটি আপনাকে খালি ফাংশন ক্লোন দেয় (এবং আমি সম্পত্তিগুলির সাথে সত্যের অগভীর ক্লোনটি কিন্তু অংশীদারিহীন রাষ্ট্রের অর্থ) অপ্রয়োজনীয় ঝাপসা ছাড়াই লুকানো বৈশিষ্ট্য, মোড়ক ফাংশন এবং স্ট্যাক সহ সমস্যা সহ
এছাড়াও আপনাকে সর্বদা একটি গুরুত্বপূর্ণ বিষয় বিবেচনা করা উচিত: কম কোড, ভুলগুলির জন্য কম স্থান।
ইওল / নতুন ফাংশনটি ব্যবহারের ক্ষতিটি হ'ল ক্লোন এবং মূল ফাংশনটি বিভিন্ন স্কোপে কাজ করবে। স্কোপড ভেরিয়েবলগুলি ব্যবহার করে এমন ফাংশনগুলির সাথে এটি ভাল কাজ করবে না। বাইন্ড-জাতীয় মোড়ক ব্যবহার করে সমাধানগুলি স্কোপটি স্বাধীন।