我究竟将什么作为参数附加到函数#1?一个新对象,一个字符串,还是别的什么?它看起来不像是参考,因为更改 foo 没有任何效果。据我所见,bar1、bar2 和 bar 3 的行为完全相同。它们之间有区别吗?
foo = 5;
bar1 = (function(){return fooBar(foo);}()); // <--- #1
bar2 = (function(){return fooBar("5");}()); // <--- #2
bar3 = (function(){return fooBar(5);}()); // <--- #3
alert(bar1);
alert(bar2);
alert(bar3);
编辑 -> 根据要求,fooBar 函数
var p = 3;
function fooBar(n)
{
return (p*n);
}
foo = 5;
bar = (function(){return fooBar(foo);}());
alert(bar);
编辑 2
function fooBar(n)
{
return (n[0]+n[1]);
}
foo = [20, 15];
bar = (function(){return fooBar(foo);}());
foo = [4, 565];
alert(bar); // 35