मान लें कि मैं HTML5 कैनवास के साथ कुछ एनिमेशन कर रहा हूं। मैं एक वस्तु की विधि है, जो बेहतर होगा चेतन करने के लिए देख रहा हूँ, तो प्रदर्शन बुद्धिमान (यह मानते हुए मैं IE8 के बारे में परवाह नहीं है):ऑब्जेक्ट विधि पर सेटटाइमआउट - ES5 बांधें, या बंद करें?
setTimeout(this.render.bind(this), 15);
या
var self = this;
setTimeout(function() { self.render() }, 15);
मेरे विशेष मामला नहीं है सचमुच एक अंतर को दृष्टि से बनाने के लिए पर्याप्त तीव्र; मैं बस सबसे अच्छा अभ्यास खोजने की कोशिश कर रहा हूँ।
मुझे लगता है कि bind
के साथ एक नया फ़ंक्शन बनाने से बंद होने से कम ओवरहेड होगा, लेकिन मैं विशेषज्ञों से पूछना चाहता था।
यह मेरे लिए अनुकूलन की तरह गंध करता है, फिर मुझे नहीं पता कि आपकी समस्या क्या है, लेकिन मुझे लगता है कि यह कहना सुरक्षित है कि 75% समय इससे कोई फर्क नहीं पड़ता – mkoryak
वे दोनों बंद हो जाते हैं, केवल अंतर ही गुंजाइश है उन कार्यों में बाध्य हैं ... –
@mkoryak - यदि आप अधिक काम कर रहे हैं तो यह केवल ओवर-ऑप्टिमाइज़ेशन है। दोनों लागू करने के लिए तुच्छ हैं, और मैं सोच रहा था कि कौन सा (संभावित रूप से) अधिक प्रदर्शनकारी है। –