卵が痛いJavaScriptの文法特性

4624 ワード

知っている上に見たある人が発表したjavascriptと関係がある試験問題をみんなと共有して、N久前のことですが、これらの問題はかなり経典的です.javascriptは本当に卵が痛い言語だと思われます.
1.
 
  
  (function () {
        return typeof arguments;
    })();

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

答え:A
2.
 
  
var f = function g() {
                return 23;
            };
        typeof g();

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

答え:D
3.
 
  
(function (x) {
            delete x;
            return x;
        })(1);

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

答え:A
4.
 
  
        var y = 1,
        x = y = typeof x;
        x;

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

答え:D
5.
 
  
    (function f(f) {
            return typeof f();
        })(function () {
            return 1;
        });

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

答え:A
6.
 
  
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
7.
 
  
var foo = {
            bar: function () {
                return this.baz;
            },
            baz: 1
        };
        typeof (f = foo.bar)();

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

答え:A
8.
 
  
var f = (function f() {
            return "1";
        }, function g() {
            return 2;
        })();
        typeof f;

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

答え:B
9.
 
  
 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