Potrzebuję funkcji JavaScript, aby powiedzieć, czy obiekt typu string jest pusty. Mówiąc "puste", mam na myśli to, że nie wszystkie są tylko białymi znakami. Napisałem ten prototyp:Ustal, czy ciąg znaków jest "pusty".
String.prototype.isEmpty = function() {
return this.length === 0 || this === " " || this.test(/^\s*$/);
}
Czy wszystko w porządku?
Czy istnieje bardziej wydajna wersja tego?
Twój === 'to "" 'test zawsze będzie fałszywy, ponieważ' this' jest obiektem 'String', a nie natywnym łańcuchem i dlatego nigdy nie będzie" ściśle równy "do' "". –
Jak sądzisz ciąg '' \ 0 "'? – kiamlaluno
@Matthew: Czy wszystkie natywne ciągi zasadniczo nie są obiektami typu String? W każdym razie przetestowałem to w firefox: 'String.prototype.foo = function() {return (this ==" ")};" ".foo()' <- działa (przynajmniej w firefox)! – slebetman