Посочените по-долу тестове са написани от Dmitry Baranovskiy в неговия блог под заглавието “So, you think you know JavaScript?“. Интересни са и затова ги copy/paste-вам тук.
Можете ли да отговорите какво ще върне всеки alert() докато четете кода, без да го тествате?
if (!("a" in window)) {
var a = 1;
}
alert(a); |
if (!("a" in window)) {
var a = 1;
}
alert(a);
var a = 1,
b = function a(x) {
x && a(--x);
};
alert(a); |
var a = 1,
b = function a(x) {
x && a(--x);
};
alert(a);
function a(x) {
return x * 2;
}
var a;
alert(a); |
function a(x) {
return x * 2;
}
var a;
alert(a);
function b(x, y, a) {
arguments[2] = 10;
alert(a);
}
b(1, 2, 3); |
function b(x, y, a) {
arguments[2] = 10;
alert(a);
}
b(1, 2, 3);
function a() {
alert(this);
}
a.call(null); |
function a() {
alert(this);
}
a.call(null);