function f(a,b){
g();
alert(a+":"+b)
};
function g(){
f.arguments[1]="我是SB!";
};
f("次碳酸钴","我是要成为海贼王的男人!");

这个例子中g函数试图修改f函数的参数列表,只有在IE6和Opera上可以修改成功,我觉得这是个Opera的漏洞。且不说修改,光是能访问到就会有一些安全问题吧。下面有这样的情况:一个网站提供了一个API,在这个API中有保存一些机密的数据。而这个API由于一些功能需求使用了回调函数,并且在Ajax之类的功能上进行过封装。这样就可以使用回调函数去窃取用户的机密数据。这不是危言耸听,也不是什么大不了的问题,总之还是要稍微注意一下的。
转载请注明:前端录»JavaScript 跨函数的参数操作