zoukankan      html  css  js  c++  java
  • 一些奇怪的JavaScript试题

    JavaScript有很多地方和我们熟知的C、Java等的编程习惯不同,这些不同会产生很多让人意想不到的事情。前段时间在知乎有人发了写Javascrtip试题,觉得挺好玩的,这里跟大家分享一下。

    01

    1 (function () { 
    2     return typeof arguments; 
    3 })(); 
    4 A. "object"
    5 B. "array"
    6 C. "arguments"
    7 D. "undefined"

    答案:A

    02

    1 var f = function g() {
    2         return 23;
    3     };
    4 typeof g();
    5 A. "number"
    6 B. "undefined"
    7 C. "function"
    8 D. Eorror

    答案:D

    03

    1 (function (x) {
    2     delete x;
    3     return x;
    4 })(1);
    5 A. 1
    6 B. null
    7 C. undefined
    8 D. Error

    答案:A

    04

    1 var y = 1,
    2     x = y = typeof x;
    3 x;
    4 A. 1
    5 B. "number"
    6 C. undefined
    7 D. "undefined"

    答案: D

    05

    1 (function f(f) {
    2     return typeof f();
    3 })(function () {
    4     return 1;
    5 });
    6 A. "number"
    7 B. "undefined"
    8 C. "function"
    9 D. Error

    答案:A

    06

    01 var foo = {
    02     bar: function () {
    03         return this.baz;
    04     },
    05     baz: 1
    06 };
    07 (function () {
    08     return typeof arguments[0]();
    09 })(foo.bar);
    10 A. "undefined"
    11 B. "object"
    12 C. "number"
    13 D. "function"

    答案:A

    07

    01 var foo = {
    02     bar: function () {
    03         return this.baz;
    04     },
    05     baz: 1
    06 };
    07 typeof (f = foo.bar)();
    08 A. "undefined"
    09 B. "object"
    10 C. "number"
    11 D. "function"

    答案:A

    08

    01 var f = (function f() {
    02     return "1";
    03 }, function g() {
    04     return 2;
    05 })();
    06 typeof f;
    07 A. "string"
    08 B. "number"
    09 C. "function"
    10 D. "undefined"

    答案: B

    09

    1 var x = 1;
    2 if (function f() {}) {
    3     x += typeof f;
    4 }
    5 x;
    6 A. 1
    7 B. "1function"
    8 C. "1undefined"
    9 D. NaN

    答案: C

    10

    1 var x = [typeof x, typeof y][1];
    2 typeof typeof x;
    3 A. "number"
    4 B. "string"
    5 C. "undefined"
    6 D. "object"

    答案: B

    11

    01 (function (foo) {
    02     return typeof foo.bar;
    03 })({
    04     foo: {
    05         bar: 1
    06     }
    07 });
    08 A、“undefined”
    09 B、“object”
    10 C、“number”
    11 D、Error

    答案: A

    12

    01 (function f() {
    02     function f() {
    03         return 1;
    04     }
    05     return f();
    06     function f() {
    07         return 2;
    08     }
    09 })();
    10 A、1
    11 B、2
    12 C、Error (e.g. “Too much recursion”)
    13 D、undefined

    答案:B

    13

    1 function f() {
    2     return f;
    3 }
    4 new f() instanceof f;
    5 A、true
    6 B、false

    答案:B

    14

    1 with (function(x, undefined){}) length;
    2 A、1
    3 B、2
    4 C、undefined
    5 D、Error

    答案:B

    具体答案大家可以自己运行得出,为什么会得出这样的结果,我也有一些不懂的地方,怕误人子弟,所以这里就不解答这里的问题了。

  • 相关阅读:
    2017年陕西省网络空间安全技术大赛WP
    XDCTF2014 Writeup
    TensorFlow入门测试程序
    python计算器
    CentOS安装crontab及使用方法
    在Linux 双机下自己手动实现浮动ip技术
    CentOS 7下安装配置FTP
    encodeURI 解码 编码
    jquery 消息提醒插件 toastmessage
    搭通自己的电脑与GitHub的传输通道
  • 原文地址:https://www.cnblogs.com/xiaoyang002/p/4034870.html
Copyright © 2011-2022 走看看