(function(spanishGreeting, name){
var spanishGreeting = 'HOLA!!';
spanishGreeting = 'Como estas!'
console.log(spanishGreeting);
}(greeting,'John'));
有人请向我解释一下,如果我对上述代码的理解是正确的吗?内存变量名称相同的位置
因此,首先在IIFE var spanishGreeting = 'HOLA!!';
之内,这行代码创建一个全新的变量,其名称与传递给IIFE的参数名称相同。那么这个新的变量声明会覆盖作为参数传入的变量吗?所以基本上传入的变量spanishGreeting
将在函数的其余部分被忽略。
现在是参数变量spanishGreeting
仍然存在于内存中吗?或者有新的变量声明:var spanishGreeting = 'HOLA!!';
覆盖了参数变量spanishGreeting
的内存位置?
非常感谢您的详细解答!它清除了很多问题,我有哈哈...! – LP496