function show(t){
if(document.getElementById("tb").getAttribute("value"))
document.getElementById("tb").setAttribute("value",
document.getElementById("tb").getAttribute("value") + t);
else
document.getElementById("tb").setAttribute("value", t);
}
function bar(){
//TODO
}
foo = "test1";
bar();
foo = "test2";
bar();
方式一:使用w3标准的javascript BOM传参。
setTimeout(show,100,foo);
运行结果:IE undefinedundefined
,Webkit test1test2
。
方式二:闭包传参
setTimeout(function(){show(foo)},100);
运行结果:IE test2test2
,Webkit test2test2
方式三:返回函数的传参函数调用,即非闭包内的闭包。
setTimeout(function(t){return function(){show(t)}}(foo),100);
运行结果:IE test1test2
,Webkit test1test2