在知乎上看到的有人发布的和javascript有关的试题,和大家分享下,虽然是N久前的事了,但这些题相当经典,不免让人觉得javascript真是门蛋疼的语言。

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

        A. "object"
        B. "array"
        C. "arguments"
        D. "undefined"


答案:A

02.

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

        A. "number"
        B. "undefined"
        C. "function"
        D. Eorror

答案:D


03.

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

        A. 1
        B. null
        C. undefined
        D. Error

答案:A


04.

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

        A. 1
        B. "number"
        C. undefined
        D. "undefined"


答案:D


05.

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

        A. "number"
        B. "undefined"
        C. "function"
        D. Error

答案:A


06.

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

        A. "undefined"
        B. "object"
        C. "number"
        D. "function"

答案:A


07.

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

        A. "undefined"
        B. "object"
        C. "number"
        D. "function"

答案:A


08.

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

        A. "string"
        B. "number"
        C. "function"
        D. "undefined"


09.

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

 A. 1
 B. "1function"
 C. "1undefined"
 D. NaN

答案:C


10.

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

        A. "number"
        B. "string"
        C. "undefined"
        D. "object"

答案:B


11.

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

        A、“undefined”
        B、“object”
        C、“number”
        D、Error

答案:A


12.

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

        A、1
        B、2
        C、Error (e.g. “Too much recursion”)
        D、undefined

答案:B


13.

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

        A、true
        B、false

答案:B


14.

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

        A、1
        B、2
        C、undefined
        D、Error

答案:B


15.

以下哪条语句会产生运行错误:()          
A.var obj = ();           
B.var obj = [];        
C.var obj = {};        
D.var obj = //;


答案;A