मैं कहना चाहूंगा कि अंतर विशुद्ध रूप से शैलीगत है, लेकिन मैं वास्तव में अपनी शंका कर रहा हूं। निम्नलिखित उदाहरण पर विचार करें:
/*
Add trim() functionality to JavaScript...
1. By extending the String prototype
2. By creating a 'stand-alone' function
This is just to demonstrate results are the same in both cases.
*/
// Extend the String prototype with a trim() method
String.prototype.trim = function() {
return this.replace(/^\s+|\s+$/g, '');
};
// 'Stand-alone' trim() function
function trim(str) {
return str.replace(/^\s+|\s+$/g, '');
};
document.writeln(String.prototype.trim);
document.writeln(trim);
सफारी, क्रोम, ओपेरा और इंटरनेट एक्सप्लोरर (आईई 7 और आईई 8 में परीक्षण) के बाद, यह निम्नलिखित लौट आएगा:
function () {
return this.replace(/^\s+|\s+$/g, '');
}
function trim(str) {
return str.replace(/^\s+|\s+$/g, '');
}
हालांकि, फ़ायरफ़ॉक्स थोड़ा अलग परिणाम देगा:
function () {
return this.replace(/^\s+|\s+$/g, "");
}
function trim(str) {
return str.replace(/^\s+|\s+$/g, "");
}
सिंगल कोट्स को डबल कोट्स से बदल दिया गया है। (यह भी ध्यान दें कि इंडेंटिंग स्पेस को चार स्थानों से कैसे बदला गया।) इससे यह आभास होता है कि कम से कम एक ब्राउज़र जावास्क्रिप्ट को आंतरिक रूप से पार्स करता है जैसे कि डबल कोट्स का उपयोग करके सब कुछ लिखा गया था। कोई सोच सकता है, अगर यह पहले से ही इस 'मानक' के अनुसार सब कुछ लिखा गया है तो जावास्क्रिप्ट को पार्स करने के लिए फ़ायरफ़ॉक्स को कम समय लगता है।
जो, वैसे, मुझे एक बहुत दुखद पांडा बनाता है, क्योंकि मुझे लगता है कि एकल उद्धरण कोड में बहुत अच्छे लगते हैं। साथ ही, अन्य प्रोग्रामिंग भाषाओं में, वे आमतौर पर दोहरे उद्धरण चिह्नों का उपयोग करने के लिए तेज़ होते हैं, इसलिए यह केवल तभी समझ में आता है जब वही जावास्क्रिप्ट पर लागू होता है।
निष्कर्ष: मुझे लगता है कि हमें इस पर और अधिक शोध करने की आवश्यकता है।
संपादित करें: यह 2003 में वापस से पीटर-पॉल कोच के परीक्षा परिणामों की व्याख्या कर सकता है ।
ऐसा लगता है कि एक्सप्लोरर विंडोज में कभी-कभी एकल उद्धरण तेज होते हैं (मेरे परीक्षणों के 1/3 ने तेजी से प्रतिक्रिया समय दिखाया), लेकिन अगर मोज़िला बिल्कुल अंतर दिखाता है, तो यह दोहरे उद्धरणों को थोड़ा तेजी से संभालता है। मुझे ऑपेरा में कोई अंतर नहीं मिला।
संपादित करें 2014: फ़ायरफ़ॉक्स / स्पाइडरमोंकी के आधुनिक संस्करण अब ऐसा नहीं करते हैं।