kor*_*dge 7 javascript coding-style v8 node.js
根据这个节点样式指南,给闭包一个名字是一个很好的做法:
对
Run Code Online (Sandbox Code Playgroud)req.on('end', function onEnd() { console.log('winning'); });错误
Run Code Online (Sandbox Code Playgroud)req.on('end', function() { console.log('losing'); });
但是,我习惯于思考
function someName() { someStatements(); }
Run Code Online (Sandbox Code Playgroud)
...语法作为创建全局变量someName或window.someName该函数的东西.这真的是一个很好的做法,还是一个非常糟糕的风格指南?
在node.js中,您所描述的内容不会污染全局上下文。
鉴于:
function someName() { someStatements(); }
Run Code Online (Sandbox Code Playgroud)
global.someName将被定义。然而以下情况:
setTimeout(function someName() { someStatements(); }, 500);
Run Code Online (Sandbox Code Playgroud)
不会设置。global.someName
这似乎只是一个审美问题。我使用 node.js v0.8.4 对此进行了测试,但大多数现代浏览器中应该存在相同的行为。