我不完全确定我是否正确地问了这个问题,因为我对高级 Javascript 的技术理解有些欠缺。但是,假设我有一个功能。在此函数 ( foo
) 中,传递了一个参数( ),该参数bar
被创建为私有变量。
function foo(bar){
console.log(bar);
}
foo("wassup");
我是否正确地认为即使未分配,也bar
保留私有范围而不被声明?它也仍然是一个对象?所以不要这样做:
function foo(){
var bar = {
message: "wassup"
};
console.log(bar.message);
}
foo();
我可以这样做:
function foo(bar){
bar = {
message: "wassup"
};
console.log(bar.message);
}
foo();
以这种方式将参数用作对象有什么含义?一切似乎都检查过了,代码工作得很好,但我想知道是否有我不知道的后果。
谢谢