11
考虑:JavaScript:为什么更改参数变量会改变`arguments`“数组”?
> function hello(what) {
. what = "world";
. return "Hello, " + arguments[0] + "!";
. }
> hello("shazow")
"Hello, world!"
为什么改变what
变化arguments[0]
价值的价值?
哦......在这种情况下:为什么它的设计是以这种方式工作?那么设计是否在任何地方记录? (不是我不相信你,当然,我只是想了解更多的细节) – 2012-04-19 02:54:32
哦,等等,我们开始吧:http://www.ecma的* 10.6 Arguments Object *中的“NOTE 1” -international.org/publications/files/ECMA-ST/Ecma-262.pdf – 2012-04-19 02:56:09
@DavidWolever:该语言是ECMAScript规范中的文档。在ECMAScript 5中引入了严格模式。 – 2012-04-19 02:56:36