首先,了解一下内容产生空白间距的原因:
1、直接输入空格,即按空格键产生
2、Tab键,产生的空格可能不上一个,因为在有一些编辑软件可以去Tab键所产生的间距进行设置
3、回车键
4、换行
以上4种对应字符:
空格 | \x20 |
Tab键 | \t |
回车键 | \r |
换行 | \n |
其中比较不好理解的就是回车与换行的区别:
回车:本义是光标重新回到本行开头,r的英文return,控制字符可以写成CR,即Carriage Return
换行:本义是光标往下一行(不一定到下一行行首),n的英文newline,控制字符可以写成LF,即Line Feed
以win为列:
回车即键盘Enter键,而换行,是输入文本时,系统自动换行产生的换行符
这些字符可以直接在控制台输出:如'\n',如果不是在字符内容添加空白符,那么不需要使用console输出,如果使用console输出的将会是空白,要使用console可以通过字符内容方式:console.log('这是一个\n测试')
写到这,突然想起去年面试时的一道题:
通过alert输出一个段换行文字,大致如下
'这是一个'
‘demo’
当时我发懵因为没做过,知道有个\n的这个玩意。但没完全理解,所以写错了!
正确写法:alert('这是一个\ndemo')
参考:http://www.cnblogs.com/clarkchen/archive/2011/06/02/2068609.html