Source code

Revision control

Copy as Markdown

Other Tools

function shadowing() {
Object.prototype.x = 1;
for (var i = 0; i < 20; i++) {
var x = "a".x;
assertEq(x, i <= 15 ? 1 : "hello");
if (i == 15) {
String.prototype.x = "hello";
}
}
delete Object.prototype.x;
}
function deleted() {
String.prototype.y = 1;
for (var i = 0; i < 20; i++) {
var y = "a".y;
assertEq(y, i <= 15 ? 1 : undefined);
if (i == 15) {
delete String.prototype.y;
}
}
delete String.prototype.y;
}
function notdefined() {
for (var i = 0; i < 20; i++) {
var z = "a".z;
assertEq(z, i <= 15 ? undefined : "test");
if (i == 15) {
String.prototype.z = "test";
}
}
delete String.prototype.z;
}
shadowing();
deleted();
notdefined();