让人蛋疼的JavaScript语法特性

(编辑:jimmy 日期: 2024/10/8 浏览:2)

在知乎上看到的有人发布的和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

一句话新闻

一文看懂荣耀MagicBook Pro 16
荣耀猎人回归!七大亮点看懂不只是轻薄本,更是游戏本的MagicBook Pro 16.
人们对于笔记本电脑有一个固有印象:要么轻薄但性能一般,要么性能强劲但笨重臃肿。然而,今年荣耀新推出的MagicBook Pro 16刷新了人们的认知——发布会上,荣耀宣布猎人游戏本正式回归,称其继承了荣耀 HUNTER 基因,并自信地为其打出“轻薄本,更是游戏本”的口号。
众所周知,寻求轻薄本的用户普遍更看重便携性、外观造型、静谧性和打字办公等用机体验,而寻求游戏本的用户则普遍更看重硬件配置、性能释放等硬核指标。把两个看似难以相干的产品融合到一起,我们不禁对它产生了强烈的好奇:作为代表荣耀猎人游戏本的跨界新物种,它究竟做了哪些平衡以兼顾不同人群的各类需求呢?