chrome 的一个bug
时间:2011-04-17 来源:cubase01
function foo(x, y, z) { // quantity of defined function arguments (x, y, z) alert(foo.length); // 3 // quantity of really passed arguments (only x, y) alert(arguments.length); // 2 // reference of a function to itself alert(arguments.callee === foo); // true // parameters sharing alert(x === arguments[0]); // true alert(x); // 10 arguments[0] = 20; alert(x); // 20 x = 30; alert(arguments[0]); // 30 // however, for not passed argument z, // related index-property of the arguments // object is not shared z = 40; alert(arguments[2]); // 理论上这里应该不能打印出来,但chrome却打印了..共享了这个变量..ie ff safri都不会打印. arguments[2] = 50; alert(z); // 40 //chrome在这里打印了50 ,也是因为上面的原因,将arguments[2]与function(x,y,z)中的z关联了 } foo(10, 20); |
相关阅读 更多 +