আমি বলতে চাই পার্থক্যটি নিখুঁতভাবে শৈলীগত, তবে আমার সত্যিই আমার সন্দেহ রয়েছে। নিম্নলিখিত উদাহরণ বিবেচনা করুন:
/*
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 সম্পাদনা করুন: ফায়ারফক্স / স্পাইডারমনকি এর আধুনিক সংস্করণগুলি আর এটি করে না।