Tôi sắp tạo ra một chức năng cắt trong javascript, nhưng vì tôi không muốn phát minh lại bánh xe tôi googled cho phương pháp này.
Tôi thấy liên kết này http://www.somacon.com/p355.phpTôi có nên sửa đổi nguyên mẫu của chuỗi không?
Giải pháp nó cung cấp là:
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+$/,"");
}
cũng nó nói nếu bạn don'y WNT để thay đổi nguyên mẫu của chuỗi sau đó sử dụng này:
function trim(stringToTrim) {
return stringToTrim.replace(/^\s+|\s+$/g,"");
}
function ltrim(stringToTrim) {
return stringToTrim.replace(/^\s+/,"");
}
function rtrim(stringToTrim) {
return stringToTrim.replace(/\s+$/,"");
}
Tôi muốn biết trong trường hợp nào cần không sửa đổi nguyên mẫu của Chuỗi hoặc nói bất kỳ đối tượng nào.
+1 cho 'if (! ('Trim' trong String.prototype)) {' –
Có gì sai nếu (! String.prototype.trim)? Có vẻ hiệu quả hơn với tôi. – KooiInc
'in' là rõ ràng hơn về những gì nó đang thử nghiệm, không dựa vào tính trung thực của một thuộc tính hoặc kỳ quặc JavaScript kỳ lạ và khủng khiếp của retuning một' undefined' mới cho cái gì mà bất kỳ ngôn ngữ khác sẽ xem xét một ngoại lệ. Đối với trường hợp đặc biệt này tất nhiên nó không quan trọng chút nào, nhưng nói chung tôi luôn sử dụng 'in' để kiểm tra nếu một đối tượng có thuộc tính. – bobince