有没有办法在JavaScript中轻松打破一个闭包?我得到的最接近的是:
var src = 3;
function foo () {
return function () {
return src; }
}
function bar (func) {
var src = 9;
return eval('('+func.toString()+')')(); // This line
}
alert(bar(foo()));
Run Code Online (Sandbox Code Playgroud)
这将打印'9',而不是'3',因为封闭将决定.然而,这种方法对我来说似乎有点难看,有没有更好的方法?
例如,具有基本数据包协议,例如:
[packetType int] [packetId int] [data [] byte]
并使客户端和服务器用它做简单的事情(例如,聊天.)
我想知道我是否可以同时进行大量的系统调用,只需要一个交换机开销.我需要这个,因为我需要同时进行许多(128)系统调用.如果我能做到这一点而不在内核和用户之间切换256次以上,我认为它可以使我的(速度敏感)库明显更快.