首页 > 解决方案 > 空字符串的长度怎么可能大于 0?

问题描述

我在尝试运行 JS 条件来检查空字符串时遇到了这个错误。在 Chrome 调试器中,空字符串的计算长度为 1,有时甚至为 2。它发生在 react 应用程序中。我对原型如何仍然正常工作感到非常迷茫,但正常长度方法却没有。

在此处输入图像描述

标签: javascriptprototypestring-length

解决方案


如果字符串包含非正常字符的字符,则当您询问其值时,该字符串可能会显示为空。这些字符串可以通过String.fromCharCode方法或隐含的 like生成'\x0d'。Enter 等字符将显示为空字符串。charCodeAt您可以使用该方法检查不可见字符。

正如 Matus 所示,这将复制有问题的行为:

v = '\x0d'

console.log(v);        // ""
console.log(typeof v); // "string"
console.log(v[0]);     // "" 
console.log(v.length); // "1"

推荐阅读