我经常遇到一种我根据自己的心情行事的情况:
情况一):
function a() {
var msg = 'a()';
..operate on msg
}
function b() {
var msg = 'b()';
..operate on msg
}
情况 B):
var msg;
function a() {
msg = 'a()';
..operate on msg
}
function b() {
msg = 'b()';
..operate on msg
}
请注意,“在 msg 上操作”不是指一个函数,而是一堆操作。
我对此很感兴趣,因为JSHint指出变量已经预定义,尽管它们具有相同的名称但例如出现在不同的函数中。
更新: 我在问这个问题时可能是不正确的,以便清除我更改功能的情况。
更新 2 我了解范围。我的意思是,尽管范围很广,但还有其他优势吗?