我想有每个插座消息的控制台日志发送到服务器之间加空格,所以我很快就裹socket.io
的socket.emit
功能控制台日志中的每个字符
var self = this;
this.socket = io.connect();
this.socket._emit = this.socket.emit;
this.socket.emit = function(){
console.log(...arguments[0]);
self.socket._emit(...arguments);
};
它的工作原理,除了一些细微奇怪的控制台日志打印。这发生在Chrome和Firefox上。到底是怎么回事?
我没有用arguments[0]
而不是...arguments[0]
作为参数传递给一个函数调用中使用时解决这个问题,但我还是好奇..
我怀疑你有一个编码为UTF-16的字符串 – Phrogz
你能进一步解释在这种情况下的含义吗? – jozenbasin
我的猜测是错误的。我不知道[扩展语法](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Spread_operator)。全面解答。 – Phrogz