【发布时间】:2013-01-30 18:06:56
【问题描述】:
我不完全确定我的问题是否正确,因为我对高级 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();
以这种方式将参数用作对象有什么含义?一切似乎都检查过了,代码运行良好,但我想知道是否有我不知道的后果。
谢谢
【问题讨论】:
-
函数形式参数几乎在所有方面都与局部变量相同。
-
另外,变量碰巧具有的值的种类实际上与它是参数还是局部变量没有任何关系。
标签: javascript function variables arguments