වෙනස තනිකරම ශෛලීය බව පැවසීමට මම කැමතියි, නමුත් මට ඇත්ත වශයෙන්ම මගේ සැකයන් තිබේ. පහත උදාහරණය සලකා බලන්න:
/*
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, '');
}
කෙසේ වෙතත්, ෆයර්ෆොක්ස් තරමක් වෙනස් ප්රති result ලයක් ලබා දෙනු ඇත:
function () {
return this.replace(/^\s+|\s+$/g, "");
}
function trim(str) {
return str.replace(/^\s+|\s+$/g, "");
}
තනි උපුටා දැක්වීම් ද්විත්ව උපුටා දැක්වීම් මගින් ප්රතිස්ථාපනය කර ඇත. (ඉන්ඩෙන්ටින් අවකාශය අවකාශ හතරකින් ප්රතිස්ථාපනය කළ ආකාරයද සටහන් කරන්න.) මෙය අවම වශයෙන් එක් බ්රව්සරයක්වත් ජාවාස්ක්රිප්ට් අභ්යන්තරව විග්රහ කරයි යන හැඟීම ලබා දෙයි. මෙම 'ප්රමිතියට' අනුව සෑම දෙයක්ම දැනටමත් ලියා ඇත්නම් ෆයර්ෆොක්ස් ජාවාස්ක්රිප්ට් විග්රහ කිරීමට අඩු කාලයක් ගතවනු ඇතැයි කෙනෙකුට සිතිය හැකිය.
තනි උපුටා දැක්වීම් කේතයේ වඩා හොඳ පෙනුමක් ඇති බව මා සිතන හෙයින්, එය මට ඉතා කණගාටුදායක පැන්ඩා බවට පත් කරයි. ප්ලස්, වෙනත් ක්රමලේඛන භාෂාවල, ඒවා සාමාන්යයෙන් ද්විත්ව මිල ගණන් වලට වඩා වේගවත් වේ, එබැවින් එය අර්ථවත් වන්නේ එය ජාවාස්ක්රිප්ට් සඳහා අදාළ වන්නේ නම් පමණි.
නිගමනය: මම හිතන්නේ අපි මේ ගැන තවත් පර්යේෂණ කළ යුතුයි.
සංස්කරණය කරන්න: මෙය 2003 දී පීටර්-පෝල් කොච්ගේ පරීක්ෂණ ප්රති results ල පැහැදිලි කරයි.
එක්ස්ප්ලෝරර් වින්ඩෝස් හි තනි උපුටා දැක්වීම් සමහර විට වේගවත් බව පෙනේ (දළ වශයෙන් මගේ පරීක්ෂණ වලින් 1/3 ක් වේගවත් ප්රතිචාර දැක්වීමේ වේලාවක් පෙන්නුම් කළේය), නමුත් මොසිල්ලා කිසියම් වෙනසක් පෙන්වන්නේ නම්, එය ද්විත්ව මිල ගණන් තරමක් වේගයෙන් හසුරුවයි. ඔපෙරා වල මට කිසිම වෙනසක් හමු නොවීය.
2014: ෆයර්ෆොක්ස් / ස්පයිඩර්මන්කි හි නවීන සංස්කරණ තවදුරටත් මෙය නොකරයි.