1. 判断执行的结果
function fun(n, o) {
console.log(o)
return {
fun: function(m) {
return fun(m, n);
}
};
}
var a = fun(0);
a.fun(1);
a.fun(2);
a.fun(3);
var b = fun(0).fun(1).fun(2).fun(3);
var c = fun(0).fun(1);
c.fun(2);
c.fun(3);
2. 判断执行的结果
var name = 'World!';
(function() {
if (typeof name === 'undefined') {
var name = 'Jack';
console.log('Goodbye ' + name);
} else {
console.log('Hello ' + name);
}
})();
3. 下面代码的输出是什么?
console.log(+true);
console.log(!"false");
4. 下面这些值哪些是假值?
0;
new Number(0);
("");
(" ");
new Boolean(false);
undefined;
5. 下面代码的输出是什么?
console.log(typeof typeof 1);
6. 下面代码的输出是什么?
var a = 0.1;
var b = 0.2;
var c = 0.3;
console.log(a + b === c);
console.log(a + a + b === a + c);
console.log(b - a === a);
console.log(c - b === a);
console.log(c - a === b);
7.下面代码的输出是什么?
var datas = [10, 20, 30];
datas.unshift(40, 50);
datas.pop();
datas.push(60, 70);
datas.shift();
console.log(datas.toString());
8. 下面代码的输出是什么?
var i = 0;
while (i < 40) {
if (i < 30) {
continue;
document.write('0 ');
}
i++;
}
9.在JavaScript中,调用对象属性的描述中,以下代码错误的是(A)例如:调用对象obj的arr属性。
A. obj["arr"]
B. obj["a"+"r"+"r"]
C. obj{"arr"}
D. obj.arr
10.以下代码的输出是什么?
function test() {
var n = 5;
function add() {
n++;
console.log(n);
}
return {
n: n,
add: add
};
}
var fn1 = test();
var fn2 = test();
fn1.add();
fn1.add();
console.log(fn1.n);
fn2.add();
11. 下面代码输出什么?
var x = 0;
switch (++x) {
case 0:
++x;
case 1:
++x;
case 2:
++x;
}
console.log(x);
12. 下面代码输出什么?
function foo() {
var i = 0;
return function() {
console.log(i++);
}
}
var f1 = foo();
var f2 = foo();
f1();
f1();
f2();
|