Javascript 查看var中不可见实体的方法(例如。\n)
我刚刚有一个var,我认为它等于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' ) 您也可以对字符串进行枚举,检
”
或未定义的。结果是它等于\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""