मैं जावास्क्रिप्ट में एक ट्रिम फ़ंक्शन बनाने वाला था, लेकिन जैसा कि मैं इस विधि के लिए पहिया पहिया को फिर से शुरू नहीं करना चाहता हूं।
मैं इस लिंक मिल गया http://www.somacon.com/p355.phpक्या मुझे स्ट्रिंग के प्रोटोटाइप को संशोधित करना चाहिए?
समाधान यह प्रदान की है:
String.prototype.trim = function() {
return this.replace(/^\s+|\s+$/g,"");
}
String.prototype.ltrim = function() {
return this.replace(/^\s+/,"");
}
String.prototype.rtrim = function() {
return this.replace(/\s+$/,"");
}
भी यह कहता है कि अगर तुम Wnt don'y स्ट्रिंग के प्रोटोटाइप को बदलने के लिए तो इसका उपयोग करें:
function trim(stringToTrim) {
return stringToTrim.replace(/^\s+|\s+$/g,"");
}
function ltrim(stringToTrim) {
return stringToTrim.replace(/^\s+/,"");
}
function rtrim(stringToTrim) {
return stringToTrim.replace(/\s+$/,"");
}
मैं जानना चाहता हूं कि किस परिदृश्य में स्ट्रिंग के प्रोटोटाइप को संशोधित या किसी ऑब्जेक्ट को नहीं कहना चाहिए।
+1 'if (! (String.prototype में' ट्रिम ') के लिए +1) {' –
यदि (! String.prototype.trim) में क्या गलत है? मेरे लिए और अधिक कुशल लग रहा है। – KooiInc
'इन' इस बात के बारे में अधिक स्पष्ट है कि यह किस चीज के लिए परीक्षण कर रहा है, किसी संपत्ति की सच्चाई पर निर्भर नहीं है या किसी अन्य भाषा के अपवाद पर विचार करने के लिए एक नई 'अपरिभाषित' को फिर से शुरू करने के विचित्र और भयानक जावास्क्रिप्ट क्विर्क पर निर्भर नहीं है। निश्चित रूप से इस विशेष मामले के लिए इससे कोई फर्क नहीं पड़ता है, लेकिन आम तौर पर मैं किसी ऑब्जेक्ट की संपत्ति होने पर परीक्षण के लिए 'इन' का उपयोग करता हूं। – bobince