JavaScript中是否存在字符串.Empty,还是只是检查“”?
当前回答
var s; // undefined
var s = ""; // ""
s.length // 0
JavaScript中没有表示空字符串的内容。检查长度(如果您知道var始终是字符串)或“”
其他回答
您可以使用lodash:_.isEmpty(值)。
它涵盖了许多情况,如{}、“”、null、undefined等。
但对于JavaScript原始数据类型的Number类型(如_.isEmpty(10)或_.isEmpty(Number.MAX_VALUE)),它总是返回true。
您可以验证以下方法并了解其区别。
var j=未定义;console.log((typeof j==“undefined”)?“真”:“假”);var j=空;console.log((j==null)?“真”:“假”);var j=“”;console.log((!j)?“真”:“假”);var j=“Hi”;console.log((!j)?“真”:“假”);
试试这个
str.value.length == 0
有很多答案,还有很多不同的可能性!
毫无疑问,快速简单的实现是赢家:if(!str.length){…}
然而,还有许多其他例子。我建议,最好的功能方法是:
函数为空(str){if(str类型==‘undefined‘||!str | | str.length==0 | | str==“”||!/[^\s]/.test(str)||/^\s*$/.test(str)|| str.replace(/\s/g,“”)==“)返回true;其他的return false;}
我知道有点过分了。
检查您是否试图传递未定义的术语也是一个好主意。
function TestMe() {
if((typeof str != 'undefined') && str) {
alert(str);
}
};
TestMe();
var str = 'hello';
TestMe();
我通常遇到这样的情况:当对象实例的字符串属性不为空时,我想做一些事情。这很好,只是属性并不总是存在。