WebStorm2017中console.log输出含 字符串异常,是否为BUG?
关于WebStorm 2017中
console.log('123\r123')输出异常的解答 这个现象并不是BUG,而是回车符(\r)的原生特性加上WebStorm控制台的标准处理逻辑导致的结果,我来给你拆解一下:
- 首先,
\r是回车控制字符,它的作用是将光标移动到当前行的开头位置,而不是像\n那样换行到下一行。当你执行console.log('123\r123')时,控制台会先输出前半段的123,紧接着光标被\r拉回行首,然后输出后半段的123——这就相当于用后面的123把前面的内容直接覆盖掉了,所以你最终只能看到最后输出的那串123。 - 不止WebStorm 2017,你在Node.js原生控制台、大部分终端工具里执行同样的代码,都会得到相同的结果,这是控制字符的标准行为,不是编辑器或控制台的问题。
如果想要让前后两段内容都显示出来,你有两个选择:
- 用换行符
\n替代\r,比如console.log('123\n123'),这样会分成两行输出; - 如果需要保留
\r作为普通字符显示,要对它进行转义,写成console.log('123\\r123'),这样控制台就会把\r当作字符串的一部分输出。
内容的提问来源于stack exchange,提问作者Tom hacker
相关产品推荐
相关产品推荐

