JavaScript基础系列 —— 基本值引用值、作用域作用域链与闭包

这位选手请仔细听题,并准备好你的秒表。

一到三题,你有60s作答时间;四到八题你有150s作答时间;九到十题你有90s作答时间。
总计 5分钟,Ready? Go!

一到三题,理解基本值与引用值

1
// 题目一
var a = 1;
a = 2;
console.log(a);


// 题目二
var a = {
    num: 1
};
var b = a;
b = {
    num: 2
};
console.log(a);


// 题目三
var a = {
    num: 1
};
var c = a;
c.num = 3;
console.log(a);

四到九题,理解作用域与作用域链

1
// 题目四
var a = 1;
(function () {
    var a = 2;
})();
console.log(a);


// 题目五
var a = 1;
(function () {
    a = 2;
})();
console.log(a);


// 题目六
var a = 1;
(function (a) {
    a = 2;
})(a);
console.log(a);


// 题目七
var a = {
    num: 1
};
(function (a) {
    a.num = 2;
})(a);
console.log(a);


// 题目八
var a = {
    num: 1
};
(function (a) {
    a = {
        num: 3
    };
})(a);
console.log(a);

九到十题,理解闭包

1
var a = 1;
var b = (function () {
    var c = 1;
    return function (x) {
        return (c = c + x);
    };
})();


// 题目九
console.log(b(a));
console.log(a);


// 题目十
console.log(b(a));
console.log(a);