搜尋

首頁  >  問答  >  主體

淘宝 躲猫猫 javascript 题目求解

这是 一道javascript 题目, 答案应该是一个url, 该如何解?
请大家帮忙, 贴答案的时候也顺便解释下原理呗:

a="hostname,test,value,input,getElementsByTagName,nextQuiz,23805,http,protocol,location,reverse,join,split,w2YHUbQTv6z4COflZD7FXGxLWTO?/ziuq/moc.oaboat.deu//:ptth,GET,...".split(",");this[a[5]]=a[13][a[12]]("")[a[10]]()[a[11]]("");0;
怪我咯怪我咯2894 天前624

全部回覆(4)我來回復

  • 伊谢尔伦

    伊谢尔伦2017-04-10 12:44:51

    淘宝的UED题目:

    a="hostname,test,value,input,getElementsByTagName,nextQuiz,23805,http,protocol,location,reverse,join,split,w2YHUbQTv6z4COflZD7FXGxLWTO?/ziuq/moc.oaboat.deu//:ptth,GET,...".split(",");
    this[a[5]]=a[13][a[12]]("")[a[10]]()[a[11]]("");
    0;
    
    console.log(this[a[5]]);

    把a用","分隔成数组,将其中的 w2YHUbQTv6z4COflZD7FXGxLWTO?/ziuq/moc.oaboat.deu//:ptth 倒序输出
    运行一遍输出的结果是:

    http://ued.taobao.com/quiz/?OTWLxGXF7DZlfOC4z6vTQbUHY2w

    回覆
    0
  • 高洛峰

    高洛峰2017-04-10 12:44:51

    this[a[5]]=a[13][a[12]]("")[a[10]]()[a[11]]("");

    相当于:

    this['nextQuiz'] = "w2YHUbQTv6z4COflZD7FXGxLWTO?/ziuq/moc.oaboat.deu//:ptth".split("").reverse().join("");

    所以结果是

    location.href = nextQuiz;

    回覆
    0
  • PHPz

    PHPz2017-04-10 12:44:51

    个人认为原理就是作为 Javascript 对象的方法调用,下面两种形式是等价的:

    obj.method();
    等价于
    obj['method']();

    回覆
    0
  • 阿神

    阿神2017-04-10 12:44:51

    恭喜您,全部答对了!
    本次活动已结束,《Javascript语言精粹-修订版》已经送完了^_^!
    欢迎参下一次活动。
    坑爹啊

    回覆
    0
  • 取消回覆