在使用Nodejs编写代码时,我偶然遇到了这种奇怪的错误现象。
我从表单中获取输入,该表单由一系列ID组成, 用新行(按Enter键)
分隔要处理它们,我使用拆分功能将它们拆分为数组:
var array = orig_input.split('\n');
出于调试目的,我打印它们。
console.log('orig_input = ' + input);
console.log('array = ' + array);
嗯,这是第一个奇怪的输出:
orig_input = 1111
2222
,2222
看!吞下假定的输出字符串'array = 1111'!
我的第一个想法是数组[0] 有一些删除字符。
所以我改变代码做一些测试,比如:
console.log('orig_input = ' + input);
console.log('***********************************' + array[0] + array[1]);
哇,又一个奇怪的输出:
orig_input = 1111
2222
2222*******************************1111
似乎有一些奇怪的包装或其他东西。
最后,经过一些无聊的测试和调试后,事实证明
I used the wrong split character, it should be '\r\n', instead of '\n'
我们知道前者是新系列的MS风格,后者是新系列的* nix风格。
所以问题是
Is this a bug of console.log function in **Nodejs** ?
Anyone would explain this?