1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
function f(a) {
assertEq(arguments[0], 1);
Object.defineProperty(arguments, 0, {value: 23, writable: true, configurable: true});
assertEq(arguments[0], 23);
assertEq(a, 23);
a = 12;
assertEq(a, 12);
assertEq(arguments[0], 12);
Object.defineProperty(arguments, 0, {value: 9, writable: false, configurable: false});
assertEq(arguments[0], 9);
assertEq(a, 9);
a = 4;
assertEq(arguments[0], 9);
assertEq(a, 4);
}
f(1);
|