我在查看 Uglify-js 的源代码时发现了一些有趣的东西。在bin/uglifyjs
( ref ) 中定义了几个函数,如下所示:
//syntax A
var defsym = function(sym) {
...
},
defval = function(v) {
...
};
考虑到 Uglify-js 是由专业人士编写的,并且在许多产品中使用,例如 JQuery,我不明白为什么代码不是这样编写的:
//syntax B
var defsym = function(sym) {
...
};
var defval = function(v) {
...
};
这将更清楚地表明这是两个局部变量。或者这个怎么样:
//syntax C
function defsym(sym) {
...
}
function defval(v) {
...
}
这使得defsym
和defval
函数在母函数的整个范围内都可用。
他们为什么会选择第一种语法?为什么不是其他语法?