Javascript 查看var中不可见实体的方法(例如。\n)

Javascript 查看var中不可见实体的方法(例如。\n),javascript,Javascript,我刚刚有一个var,我认为它等于”或未定义的。结果是它等于\r。我无法看到这一点,直到我将var用引号括起来并将其输出到控制台,然后我看到换行符。他们是我能看到的\r而不是什么都没有的方式吗?也许将它包装在某个函数中,该函数将输出\r或\n等。正则表达式检查如何 /\r/.test( "\r\n" ) 或使用字符串替换所有回车符的正则表达式: "\r\n".replace( /\r/g, 'i just replaced a carriage return' ) 您也可以对字符串进行枚举,检

我刚刚有一个var,我认为它等于
未定义的
。结果是它等于
\r
。我无法看到这一点,直到我将var用引号括起来并将其输出到控制台,然后我看到换行符。他们是我能看到的
\r
而不是什么都没有的方式吗?也许将它包装在某个函数中,该函数将输出
\r
\n
等。

正则表达式检查如何

/\r/.test( "\r\n" )
或使用字符串替换所有回车符的正则表达式:

"\r\n".replace( /\r/g, 'i just replaced a carriage return' )
您也可以对字符串进行枚举,检查charCode是否等于回车符,然后给出它相对于字符串所在的索引


编辑:如果要检查字符串是否包含任何内容,请使用其他人所述的
.length

对于常规,您可以使用类似JSON的内容:

var str = "\r";
if (str) {
    // The var is not empty, null, or undefined...
}
var str = "\r";
alert( JSON.stringify(str) );
// will alert "\u000d" instead of 'nothing'

我不知道任何内置函数

如果我怀疑像这样的事情,我通常会在它周围放一些可识别的字符——就像你用引号做的那样——并打印长度,所以如果长度大于我能看到的字符数,我知道一定有看不见的东西

有时,当它真的令人困惑时,我编写了一个小函数来循环字符串中的字符并转储它们的数值。小于32的ASCII值通常不可见

  • 您可以使用字符串的
    length
    方法查看它是否为空:

    "\r".length; // → 1
    
  • 您可以将字符串编码为JSON,JSON内置于较新的浏览器中(也可用于较旧的浏览器):

  • JSON.stringify("\r"); // → ""\r""