看看这些题目你会多少?

2014-03-20 W.Y. 更多博文 » 博客 » GitHub »

Quiz

原文链接 https://bubkoo.github.io/2014/03/20/some-javascript-quiz-from-perfectionkills/
注:以下为加速网络访问所做的原文缓存,经过重新格式化,可能存在格式方面的问题,或偶有遗漏信息,请以原文为准。


最近在 perfectionkills 上看到几道 JavaScript 题目,这里拿来分享一下,下面列举出来了题目,你可以在这里做题,答案解析可以到这里找到。

<!--more-->

.answers { margin: 10px; } .answers li{ list-style:none; line-height: 1.4; }

1.

(function(){
    return typeof arguments;
})();

"object" "array" "arguments" "undefined"

2.

var f = function g(){ return 23; };
typeof g();

"number" "undefined" "function" Error

3.

(function(x){
    delete x;
    return x;
})(1);

1 null undefined Error

4.

var y = 1, x = y = typeof x;
x;

1 "number" undefined "undefined"

5.

(function f(f){
    return typeof f();
})(function(){ return 1; });

"number" "undefined" "function" Error

6.

var foo = {
    bar: function() { return this.baz; },
    baz: 1
  };
  (function(){
    return typeof arguments[0]();
})(foo.bar);

"undefined" "object" "number" "function"

7.

var foo = {
    bar: function(){ return this.baz; },
    baz: 1
}
typeof (f = foo.bar)();

"undefined" "object" "number" "function"

8.

var f = (function f(){ return "1"; }, function g(){ return 2; })();
typeof f;

"string" "number" "function" "undefined"

9.

var x = 1;
if (function f(){}) {
    x += typeof f;
}
x;

1 "1function" "1undefined" NaN

10.

var x = [typeof x, typeof y][1];
typeof typeof x;

"number" "string" "undefined" "object"

11.

(function(foo){
    return typeof foo.bar;
})({ foo: { bar: 1 } });

"undefined" "object" "number" Error

12.

(function f(){
    function f(){ return 1; }
    return f();
    function f(){ return 2; }
})();

1 2 Error (e.g. "Too much recursion") undefined

13.

function f(){ return f; }
new f() instanceof f;

true false

14.

with (function(x, undefined){}) 
   length;

1 2 undefined Error

点击下面按钮提交您的答案 试试手气

(function () { function byId(id) { return document.getElementById(id); }

    byId('submitter').onclick = function () {

        var wrongAnswers = [ ];

        if (!byId('answer-1-1').checked) {
            wrongAnswers.push(1);
        }
        if (!byId('answer-2-4').checked) {
            wrongAnswers.push(2);
        }
        if (!byId('answer-3-1').checked) {
            wrongAnswers.push(3);
        }
        if (!byId('answer-4-4').checked) {
            wrongAnswers.push(4);
        }
        if (!byId('answer-5-1').checked) {
            wrongAnswers.push(5);
        }
        if (!byId('answer-6-1').checked) {
            wrongAnswers.push(6);
        }
        if (!byId('answer-7-1').checked) {
            wrongAnswers.push(7);
        }
        if (!byId('answer-8-2').checked) {
            wrongAnswers.push(8);
        }
        if (!byId('answer-9-3').checked) {
            wrongAnswers.push(9);
        }
        if (!byId('answer-10-2').checked) {
            wrongAnswers.push(10);
        }
        if (!byId('answer-11-1').checked) {
            wrongAnswers.push(11);
        }
        if (!byId('answer-12-2').checked) {
            wrongAnswers.push(12);
        }
        if (!byId('answer-13-1').checked) {
            wrongAnswers.push(13);
        }
        if (!byId('answer-14-2').checked) {
            wrongAnswers.push(14);
        }

        var message = (wrongAnswers.length === 14) ? '你全部答错了' : '你答错了 <strong>' + wrongAnswers.length + ' </strong>题';

        message += (wrongAnswers.length === 14) ? '' : '<br/>答错的题目:' + wrongAnswers.join(' , ');
        document.getElementById('quiz-result').innerHTML = message;
    };
})();